1

参照配列パラメータを受け取ることを期待する Caché ObjectScript プロシージャがあるとします。

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規約)

4

2 に答える 2

2

ブランドンが提案したように間接的に使用する場合:

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-07T02:02:48.057 に答える