第三章 使用多维存储(全局变量)(二)
遍历全局变量中的数据
有许多方法可以遍历(迭代)存储在全局变量中的数据。
$ORDER(下一个/上一个)函数
ObjectScript $Order函数允许顺序访问全局中的每个节点。
$ORDER函数返回给定级别(下标编号)的下一个下标的值。例如,假设定义了以下全局设置:
Set ^Data(1) = ""
Set ^Data(1,1) = ""
Set ^Data(1,2) = ""
Set ^Data(2) = ""
Set ^Data(2,1) = ""
Set ^Data(2,2) = ""
Set ^Data(5,1,2) = ""
要查找第一个第一级下标,我们可以使用:
SET key = $ORDER(^Data(""))
这将返回空字符串(“”)之后的第一个第一级下标。(空字符串用于表示第一个条目之前的下标值;作为返回值,它用于指示没有后续的下标值。)。在本例中,key现在将包含值1。
我们可以通过在$ORDER表达式中使用1或键来查找下一个第一级下标:
SET key = $ORDER(^Data(key))
如果key的初始值为1,则此语句将其设置为2(因为^Data(2)是下一个第一级下标)。再次执行此语句会将key设置为5,因为这是下一个第一级下标。请注意,即使没有直接存储在^Data(5)中的数据,也会返回5。