$LISTVALID (ObjectScript)
式がリストかどうかを判別します。
構文
$LISTVALID(exp)
$LV(exp)
引数
引数 | 説明 |
---|---|
exp | 任意の有効な式。 |
説明
$LISTVALID は exp がリストかどうかを判別してブーリアン値を返します。exp がリストの場合、$LISTVALID は 1 を返し、exp がリストでない場合、$LISTVALID は 0 を返します。
リストは、$LISTBUILD または $LISTFROMSTRING を使用して作成されるか、$LIST を使用して別のリストから抽出されます。空の文字列 ("") を唯一の要素として含むリストは、有効なリストです。空の文字列 ("") 自体も、有効なリストと見なされます ($CHAR の特定の出力不能文字の組み合わせ ($CHAR(1)、$CHAR(2,1)、$CHAR(3,1,asciicode) など) により、有効な空のリストまたは 1 要素のリストを返すこともできます)。
例
以下の例はすべて、有効なリストであることを示す 1 を返します。
SET w = $LISTBUILD("Red","Blue","Green")
SET x = $LISTBUILD("Red")
SET y = $LISTBUILD(365)
SET z = $LISTBUILD("")
WRITE !,$LISTVALID(w)
WRITE !,$LISTVALID(x)
WRITE !,$LISTVALID(y)
WRITE !,$LISTVALID(z)
以下の例はすべて 0 を返します。数値および文字列 (NULL 文字列を除く) は有効なリストではありません。
SET x = "Red"
SET y = 44
WRITE !,$LISTVALID(x)
WRITE !,$LISTVALID(y)
以下の例はすべて 1 を返します。連結された値、入れ子になった値、および省略された値のリストはすべて有効なリストです。
SET w=$LISTBUILD("Apple","Pear")
SET x=$LISTBUILD("Walnut","Pecan")
SET y=$LISTBUILD("Apple","Pear",$LISTBUILD("Walnut","Pecan"))
SET z=$LISTBUILD("Apple","Pear",,"Pecan")
WRITE !,$LISTVALID(w_x) ; concatenated
WRITE !,$LISTVALID(y) ; nested
WRITE !,$LISTVALID(z) ; omitted element
以下の例はすべて 1 を返します。$LISTVALID では以下の "空" のリストすべてを有効なリストと見なします。$LISTBUILD は、未定義の変数をリスト要素として取ることができ、これによってエラーが生成されることはありません。
WRITE $LISTVALID(""),!
WRITE $LISTVALID($LB()),!
WRITE $LISTVALID($LB(UndefinedVar)),!
WRITE $LISTVALID($LB("")),!
WRITE $LISTVALID($LB($CHAR(0))),!
WRITE $LISTVALID($LB(,))
関連項目
-
$LIST 関数
-
$LISTBUILD 関数
-
$LISTDATA 関数
-
$LISTFIND 関数
-
$LISTGET 関数
-
$LISTLENGTH 関数
-
$LISTNEXT 関数
-
$LISTSAME 関数
-
$LISTUPDATE 関数