第三十七章 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
网友评论