Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

Traverse() 関数 (1)

第 1 章では、ほとんどのデータを添え字に格納する ^PersonI インデックスを作成しました。ここでは、添え字に格納されたデータにどのようにしてアクセスするかを学習します。配列にノードが存在する場合、Traverse() 関数はその子ノードの添え字値にアクセスします。添え字は自動的にソートされるため、関数は子ノードを順番に走査します。

このためには、Traverse に 1 つ以上の添え字付き配列名を渡します。配列と最後に割り当てられた添え字以外の添え字は、ノードを識別します。最後の添え字は、Traverse 関数が使用します。x 配列を使用した例では、Traverse が集中した添え字が最初で唯一の添え字です。空文字列 ("") は配列の添え字には使用できませんが、Traverse に渡される配列の添え字として使用できます。これにより、Traverse は最初の有効な添え字値を返すことができます。

この例ではまず、Traverse は有効な最初の添え字 1 を返します。その後残りの添え字を順番に返すので、1 を渡すと 4 を、4 を渡すと 9 を返します。9 を渡すと Traverse はそれ以上有効な添え字がないことを示す空文字列を返します。


x(1)=1 : x(4)=2 : x(9)=3
println "first subscript is: ", traverse( x("") )
println "subscript after 1 is: ", traverse( x(1) )
println "subscript after 4 is: ", traverse( x(4) )
println "subscript after 9 is: ", traverse( x(9) )
FeedbackOpens in a new tab