第三十七章 Caché 函數大全 $LISTVALID 函數 第三十七章 Caché 函數大全 $LISTVALID 函數 大綱 描述 示例

第三十七章 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章