第三十七章 Caché 函數大全 $LISTVALID 函數
確定表達式是否爲列表。
大綱
$LISTVALID(exp)
$LV(exp)
參數
- exp 任何有效的表達式。
描述
$LISTVALID
確定exp是否爲列表,並返回一個布爾值:如果exp爲列表,則$LISTVALID
返回1;否則,返回0。如果exp不是列表,則$LISTVALID
返回0。
可以使用$LISTBUILD
或$LISTFROMSTRING
創建列表,或使用$LIST
從另一個列表中提取列表。包含空字符串(“”
)作爲唯一元素的列表是有效列表。空字符串(“”
)本身也被視爲有效列表。 (某些$CHAR
非打印字符組合,例如$CHAR(1)
,$CHAR(2,1)
和$CHAR(3,1,asciicode)
也可以返回有效的空列表或單元素列表。)
示例
以下示例均返回1,表示有效列表:
/// d ##class(PHA.TEST.Function).LISTVALID()
ClassMethod LISTVALID()
{
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)
}
DHC-APP>d ##class(PHA.TEST.Function).LISTVALID()
1
1
1
1
以下示例均返回0。數字和字符串(空字符串除外)不是有效列表:
/// d ##class(PHA.TEST.Function).LISTVALID1()
ClassMethod LISTVALID1()
{
SET x = "Red"
SET y = 44
WRITE !,$LISTVALID(x)
WRITE !,$LISTVALID(y)
}
DHC-APP>d ##class(PHA.TEST.Function).LISTVALID1()
0
0
以下示例均返回1。串聯,嵌套和省略的值列表均爲有效列表:
/// d ##class(PHA.TEST.Function).LISTVALID2()
ClassMethod LISTVALID2()
{
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
}
DHC-APP>d ##class(PHA.TEST.Function).LISTVALID2()
1
1
1
以下示例均返回1。$LISTVALID
將以下所有“空”列表視爲有效列表:
/// d ##class(PHA.TEST.Function).LISTVALID3()
ClassMethod LISTVALID3()
{
WRITE $LISTVALID(""),!
WRITE $LISTVALID($LB()),!
WRITE $LISTVALID($LB(UndefinedVar)),!
WRITE $LISTVALID($LB("")),!
WRITE $LISTVALID($LB($CHAR(0))),!
WRITE $LISTVALID($LB(,))
}
DHC-APP>d ##class(PHA.TEST.Function).LISTVALID3()
1
1
1
1
1
1