本页介绍了 ObjectScript
代码和类中的标识符规则,并提供了避免名称冲突的指南。请注意,ObjectScript
没有保留字,因此如果使用命令作为标识符,结果在语法上是正确的,但代码也可能会让任何阅读它的人感到困惑。
对于局部变量的名称,ObjectScript
中适用以下规则:
%
)。如果名称以 %
开头,请使用 z
或 Z
作为其后的下一个字符。
ASCII 255
以上的字母字符(Unicode
字母)。31
个字符必须是唯一的(在适当的上下文中)。变量的任何下标都不计入此计数。
避免对局部变量使用以下名称:
避免在 SQL
可能运行的任何上下文中使用 SQLCODE
作为变量名称。
IO
, IOF
, IOBS
, IOM
, IOSL
, IOT
, IOST
, IOPAR
, MSYS
, POP
, RMSDF
不要在使用 ^%IS
实用程序的上下文中使用这些变量名称(实际上,这种情况很少见)。
Global
名称规则对于Global
的名称,适用以下规则:
^
),下一个字符必须是字母或百分号 (%
)。对于Global
名称,字母被定义为 ASCII 65
到 ASCII 255
范围内的字母字符。不允许使用超出 ASCII 255
的字符。Global
的名称可以包含一个或多个句点 (.
) 字符,但不能作为第一个或最后一个字符。31
个字符必须是唯一的(在适当的上下文中)。脱字符号不计入此计数。也就是说,Global
的名称的前 32
个字符必须是唯一的,包括脱字符号。变量的任何下标都不计入此计数。
IRISSYS
数据库中,为自己保留除以 ^z
、^Z
、^%z
和 ^%Z
开头的所有Global
名称。在所有其他数据库中,保留以 ^IRIS
和 ^%IRIS
开头的所有全局名称
当创建数据库时,IRIS
会使用一些Global
对其进行初始化以供其自己使用。此外,创建的每个命名空间都包含到系统Global
的映射,包括可写系统数据库中的Global
节点。
Global
百分比百分比Global
在所有命名空间中都可用。以下规则适用:
^%z
或 ^%Z
开头的名称来设置、修改或kill
自己的Global
^%SYS
(文档中所述的设置节点除外)kill
名称以 ^%
开头的Global
Global
为了避免覆盖系统Global
,请勿在任何命名空间中设置、修改或kill
以下Global
:
^CacheTemp*
(保留供某些版本的 IRIS
使用)^DeepSee.*
(限制仅适用于在其中使用 IRIS Analytics
的命名空间)^Ens*
(限制仅适用于启用互操作性的命名空间;请参阅互操作性产品简介)^ERRORS
^HS
(限制适用于 HealthShare
命名空间)^InterSystems.Sequences
(限制仅适用于在其中使用 InterSystems IRIS Hibernate Dialect
的命名空间)^IRIS*
(保留供 InterSystems
使用)^IS.*
(保留供 InterSystems IRIS
分片使用)^ISC*
(文档中提到的设置节点除外)^mqh
(SQL
查询历史记录)^mtemp*
^OAuth2
(限制适用于 HealthShare
命名空间)^OBJ.GUID
(文档中注明的除外)^OBJ.DSTIME
^OBJ.JournalT
^odd*
(类定义文件)^rBACKUP
^rINC
(包含 include files inc
文件)^rINCSAVE
^rINDEX
^rINDEXCLASS
^rINDEXEXT
^rINDEXSQL
^rMAC
(包含 MAC
代码 mac
文件)^rMACSAVE
^rMAP
^rOBJ
(存储 OBJ
代码 obj
文件)^ROUTINE
(存储 routines,int
文件)^SchemaMap
(限制适用于 HealthShare
命名空间)^SPOOL
(限制仅适用于在其中使用 IRIS
假脱机的命名空间;请参阅《I/O
设备指南》中的假脱机设备)^SYS
(文档中提到的设置节点除外)^z*
和 ^Z*
(保留供使用,IRISSYS
数据库除外;请参阅 IRISSYS
中的自定义项)