第二章 IRIS 编程简介 - 同时使用类和例程
同时使用类和例程
在IRIS 中,可以使用例程中的类。例如,下面显示了例程的一部分,其中我们引用了 Sample.Employee类:
//get details of random employee and print them
showemployee() public {
set rand=$RANDOM(10)+1 ; rand is an integer in the range 1-10
write "Your random number: "_rand
set employee=##class(Sample.Employee).%OpenId(rand)
do employee.PrintEmployee()
write !,"This employee's salary: "_employee.Salary
}
类似地,方法可以调用例程中的标签。例如,以下代码调用例程employeeutils中的标签ComputeRaise:
Method RaiseSalary() As %Numeric
{
set newsalary=$$ComputeRaise^employeeutils(..Salary)
return newsalary
}
Globals简介
IRIS 支持一种在其他编程语言中不存在的特殊变量;这是一个全局变量,通常简称为Global。在 IRIS 中,术语Global表示该数据可供访问该数据库的所有进程使用。这种用法与其他编程语言不同,在其他编程语言中,Global意味着“可供该模块中的所有代码使用”。Global的内容存储在 IRIS 数据库中。
在 IRIS 中,数据库仅包含Global;甚至代码也存储在Global中。在最低级别,对数据的所有访问都是通过直接Global访问完成的,即通过使用直接与Global一起使用的命令和函数。
当使用持久类时,可以通过以下方式创建、修改和删除存储的数据:
- 在
ObjectScript中,使用%New()、%Save()、%Open()和%Delete()等方法。 - 在
Python中,使用_New()、_Save()、_Open()和_Delete()等方法。 - 在
ObjectScript中,使用直接global访问。 - 在
Python中,使用gref()方法提供直接的全局访问。 - 通过使用
SQL。
在内部,系统始终使用直接global访问。
程序员不一定必须直接使用global,但了解它们以及它们的使用方式会很有帮助。








网友评论