这句话的含义是什么:S A=$P(P,,2) I S
?
答案 0 :(得分:8)
这可能不是基于MUMPS实现的有效语法。例如,Intersystem Cache将生成语法错误,因为传递给piece函数的第二个参数是空白的。
delim $P或$PIECE(str, delim, num)
函数将返回 str 的 num 段>。因此,p("a^b^c","^",2)
返回“b”。当 delim 是空字符串时,$P
将返回空字符串。但是,传递任何内容和空字符串之间可能存在差异。
S A=$P(P,,2)
表示将变量 A 设置为piece函数返回的值。
最后,I S
表示如果变量 S 的值的计算结果为true,则继续执行该行的其余部分。如果表达式为true,I
或IF
命令也会产生将$T
变量设置为1的副作用,如果表达式为false,则为0。如果您的代码行后跟一个else语句,这很重要,该语句使用$T
来确定前一个if语句是否返回false。
答案 1 :(得分:3)
这意味着
Set A = $PIECE(P,,2)
$PIECE(string,delimiter,from)
返回 子串是第n件 字符串,整数n是 由from参数指定,和 碎片由分隔符分隔。 不返回分隔符。
文档链接位于:http://docs.intersystems.com/cache20102/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS_fpiece