假设我有CachéObjectScript过程,它期望接收by引用数组参数:
TotalArray(Arr)
S Total=0
S K=""
F {
S K=$O(Arr(K))
Q:K=""
S Total=Total+Arr(K)
}
Q Total我可以使用点语法引用常规数组来调用该过程:
S A(1)=5
S A(2)=10
W $$TotalArray(.A)但是,当我尝试使用全局引用时,点语法会出现一个语法错误:
S ^A(0)=5
S ^A(1)=10
W $$TotalArray(.^A)通过引用ObjectScript过程传递全局数组的正确方法是什么?我还希望能够通过进程私有全局( ^||Array约定)。
发布于 2014-05-07 02:02:48
如果你像布兰登建议的那样间接地使用它:
TotalArray(ArrName)
S Total=0
S K=""
F {
S K=$O(@ArrName@(K))
Q:K=""
S Total=Total+@ArrName@(K)
}
Q Total然后你就这样叫它
W $$TotalArray("^A")甚至是
W $$TotalArray("^A(""someIndex"")")发布于 2014-05-06 17:40:05
这是不可能的你可以
https://stackoverflow.com/questions/23498931
复制相似问题