Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

$Order 関数 (2)

$Order では、逆の順序で添え字を検索することもできます。この場合、第 2 引数で -1 を指定します。

ターミナル


USER>write

x(1)=1
x(4)=2
x(9)=3
USER>write $order(x(""), -1)
9
USER>write $order(x(9), -1)
4
USER>write $order(x(4), -1)
1
USER>write $order(x(1), -1)

USER>

多くの場合、$Order を使用して有効な添え字値を取得する際には、配列のその位置に格納されている値も取得します。

例えば、以下のコードは、次の添え字を a の 4 の後に入れ、そこに格納されていた値を b に入れます。

ターミナル


USER>set a = $order(x(4)), b = x(a) write a, "   ", b 
9   3
USER>

同じことを簡単で高速な方法で実行できます。$Order の 3 番目の引数に変数名を割り当てると、2 ステップの代わりに 1 ステップでこれらの値を取得できます。2 番目の引数には 1 (前方検索) または -1 (後方検索) を指定します。

ターミナル


USER>set a = $order(x(4), 1, b) write a, "   ", b
9   3
USER>set a = $order(x(9), -1, b) write a, "   ", b
4   2
USER>

FeedbackOpens in a new tab