2

这句话的含义是什么:S A=$P(P,,2) I S?

4

2 回答 2

8

这可能不是基于 MUMPS 实现的有效语法。例如,Intersystem Cache 会产生语法错误,因为传递给piece 函数的第二个参数是空白的。

当由delim分隔时, $Por$PIECE(str, delim, num)函数将返回str的第num段。因此,返回“b”。当delim为空字符串时,将返回空字符串。但是,不传递任何内容和空字符串之间可能存在差异。p("a^b^c","^",2)$P

S A=$P(P,,2)表示将变量A设置为 piece 函数返回的值。

最后,I S, 表示如果变量S的值为真,则继续执行这一行的其余部分。IorIF命令还有一个副作用,即如果表达式为真,则将变量设置为$T1,如果表达式为假,则设置为 0。如果您的代码行后面跟着一个 else 语句,这很重要,该语句$T用于确定前一个 if 语句是否返回 false。

于 2011-03-21T20:34:07.187 回答
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

于 2011-03-21T09:03:17.043 回答