第八章 ObjectScript - 变量的可用性和范围

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

第八章 ObjectScript - 变量的可用性和范围

变量的可用性和范围

ObjectScript 支持以下程序流程,(在大多数方面)与其他编程语言支持的程序流程类似:

  1. 用户可能从用户界面调用方法。
  2. 该方法执行一些语句,然后调用另一个方法。
  3. 该方法定义了局部变量 ABC

变量 ABC 在此方法的范围内。它们对于该方法是私有的。

该方法还定义了Global ^D

  1. 第二个方法结束,控制返回到第一个方法。
  2. 第一个方法恢复执行。此方法不能使用不再定义的变量 AB 和 C。它可以使用^D,因为该变量立即保存到数据库中。

变量作用域总结

有几个因素控制变量在定义它的方法之外是否可用。在讨论这些之前,有必要指出以下环境细节:

命名空间是任何代码运行的环境。

下表总结了可用变量的位置:

变量可用性,按变量类型细分... 在定义它的方法之外(但在同一进程中) 在同一命名空间的其他进程中 在同一 IRIS 实例内的其他命名空间中
局部变量,私有范围* No No No
局部变量,公共作用域 Yes No No
局部百分比变量 Yes No No
全局变量Global(不是百分比) Yes Yes 除非Global映射允许这样做
Global百分比变量 Yes Yes Yes

*默认情况下,方法中定义的变量是该方法私有的,如前所述。此外,在方法中,可以将变量声明为公共变量,尽管这种做法不是首选。请参阅公共列表。

每个命名空间都有用于特定目的的默认数据库,并且可以具有允许访问其他数据库的映射。因此,Global可用于多个命名空间,即使它不是Global百分比变量。

上一篇 下一篇

猜你喜欢

热点阅读