第六十四章 符号概览

75 阅读1分钟

第六十四章 符号概览

Caret (^)

^abcdef

  • ^%abcdef

有以下三种可能:

  • ^abcdef^%abcdefGlobal
  • ^abcdef^%abcdefLOCK 命令的参数。在这种情况下,^abcdef^%abcdef 是锁名称,并保存在锁表中(在内存中)。
  • abcdef%abcdef 是一个例程。插入符号不是名称的一部分,而是调用例程的语法的一部分。

在随意使用中,很常见的是引用一个例程,就好像它的名称包含一个初始插入符号一样。因此,可能会看到有关 ^abcdef 例程的注释。通常,可以根据上下文判断引用是对全局还是对例程。锁名称仅出现在 LOCK 命令之后;它们不能用于任何其他情况。

^$abcdef

  • ^$|"ghijkl"|abcdef

其中每一个都是结构化系统变量,它提供有关Global、作业、锁或例程的信息。

abcdefis`abcdef is GLOBAL, JOB,JOB`, `LOCK, or $ROUTINE`.

ghijkl 是命名空间名称。

IRIS 将信息存储在以下系统变量中:

  • ^$GLOBAL

  • ^$JOB

  • ^$LOCK

  • $ROUTINE

^||abcdef

  • ^|"^"|abcdef

  • ^["^"]abcdef

  • ^["^",""]abcdef

其中每一个都是进程私有global,是一种临时存储大数据值的机制。 IRIS 在内部使用一些,但不提供任何供公众使用。可以定义和使用自己的进程私有global

^|XXX|abcdef

  • ^|XXX|%abcdef

  • ^[XXX]abcdef

  • ^[XXX]%abcdef

其中每一个都是扩展引用——对另一个命名空间中的globalroutine 的引用。可能性如下:

  • ^abcdef^%abcdef 是另一个命名空间中的global
  • abcdef%abcdef 是另一个命名空间中的例程。

XXX 组件表示命名空间。这是带引号的字符串或不带引号的字符串。

^abc^def

这是一个隐含的命名空间。

^^abcdef

这是一个隐含的命名空间。a