第二章 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
,但了解它们以及它们的使用方式会很有帮助。
网友评论