2025/10/10

@Subset の使い方

今回は @Subset という関数の使い方をまとめます。リスト値(複数値、配列)を操作する上で必須となる関数です。


@Subset の仕様と構文

@Subset はリスト値から部分リスト値を抽出する場合に使用します。構文は次の通りです。

@Subset( list ; number )

1 list 文字列リスト
数値リスト
日付/時刻値リスト
抽出元のリスト値
2 number 数値 抽出する値の数


@Subset の動作

まずは単純な例です。list に次の 5 つの値が入っていて、3 を指定した場合の結果です。リストの前から指定した数だけのリスト値が返されます。

list @Subset( list ; 3 )
@関数
LotusScript
HTML
JavaScript
Java
@関数
LotusScript
HTML

おもしろいのは負の数を指定できることです。この場合、リストの後ろから指定した数だけ取得します。例えば -3 を指定した場合は次のようになります。

list @Subset( list ; -3 )
@関数
LotusScript
HTML
JavaScript
Java
HTML
JavaScript
Java

リスト値の要素数を意識することなく、一発で後ろから取得できるなんて高性能な関数ですね。LotusScript で記述すると 1 行では済まないので、@関数が便利だと感じる瞬間ですね。


指定した要素番号の値を取得

1 を指定するとリスト値の先頭、-1 を指定すると最後の要素を取得できます。この機能を利用して、要素番号 n の値だけを取得するには次のように記述します。

@Subset(@Subset(list; n); -1);

上記はリストの前から n 番目を取得しますが、次のように記述すると後ろから取得できます。

@Subset(@Subset(list; -n); 1);

リストの要素のアクセスは list[3] のように [ ] で指定することができます。ただ、この機能は Notes Release 6 からの新機能(20 年以上前です)で、それ以前から Notes 界隈にいる人は今でも @Subset 二段掛けを使う人が多いと思います。


まとめ

今回は @Subset の使い方についてまとめました。このブログ内ですでに何度も登場している関数ですね。他の事例については当ブログ内の 出直し!!ヘルプ @関数編 @Subset 内に「関連記事」としてまとめています。


0 件のコメント:

コメントを投稿