收藏

第七章 ObjectScript - Variables

2023-08-23  本文已影响0人  Cache技术分享

第七章 ObjectScript - Variables

Variables

ObjectScript 中,有两种变量,按它们保存数据的方式分类:

局部变量可以具有公共或私有范围。

局部变量可以具有公共或私有范围。

变量名称

变量的命名遵循以下规则:

IRIS 还支持一种特殊的变量,称为百分比变量;这些不太常见。百分比变量的名称以百分比字符 (%) 开头。百分比变量的特殊之处在于它们始终是公共的;也就是说,它们对进程中的所有代码都是可见的。这包括调用堆栈中的所有方法和所有过程。

定义百分比变量时,请使用以下规则:

变量类型

ObjectScript 中的变量是弱动态类型的。它们是动态类型的,因为不必声明变量的类型,并且变量可以采用任何合法值,即任何合法的文字值或任何合法的 ObjectScript 表达式。它们是弱类型的,因为用法决定了它们的计算方式。

ObjectScript 中的合法文字值具有以下形式之一:

要在字符串文字中包含双引号字符,请在其前面添加另一个双引号字符。例如: "This string has ""quotes"" in it."

根据上下文,字符串可以被视为数字,反之亦然。类似地,在某些上下文中,值可以被解释为布尔值(真或假);任何计算结果为零的内容都被视为false;其他任何内容都被视为true

创建类时,可以指定属性、方法参数的类型等。 IRIS 类机制按照预期强制执行这些类型。

Variable Length

变量值的长度必须小于字符串长度限制。

Variable Existence

通常使用 SET 命令定义变量。如前所述,当定义global 时,它会立即影响数据库。

仅当杀死global(这意味着通过 KILL 命令删除它)时,它才会变得未定义。这也会立即影响数据库。

局部变量可以通过以下三种方式之一变为未定义:

要确定变量是否已定义,请使用 $DATA 函数。例如,以下显示了使用此功能的终端会话:

TESTNAMESPACE>write $DATA(x)
0
TESTNAMESPACE>set x=5

TESTNAMESPACE>write $DATA(x)
1

第一步,我们使用 $DATA 来查看变量是否已定义。系统显示0,表示该变量没有定义。然后我们将变量设置为 5 并重试。现在该函数返回 1

在此示例和前面的示例中,可能已经注意到没有必要以任何方式声明变量。 SET 命令就是所需要的。

如果尝试访问未定义的变量,则会收到 <UNDEFINED> 错误。例如:

TESTNAMESPACE>WRITE testvar
 
WRITE testvar
^
<UNDEFINED> *testvar
上一篇 下一篇

猜你喜欢

热点阅读