【发布时间】:2011-03-21 08:56:19
【问题描述】:
这句话是什么意思:S A=$P(P,,2) I S?
【问题讨论】:
标签: mumps
这句话是什么意思:S A=$P(P,,2) I S?
【问题讨论】:
标签: mumps
这可能不是基于 MUMPS 实现的有效语法。例如,Intersystem Cache 会产生语法错误,因为传递给 piece 函数的第二个参数是空白的。
$P 或 $PIECE(str, delim, num), 函数将返回 str 的第 num 段,当被 delim 分隔时。所以,p("a^b^c","^",2) 返回“b”。当 delim 为空字符串时,$P 将返回空字符串。但是,不传递任何内容和传递空字符串是有区别的。
S A=$P(P,,2) 表示将变量A设置为piece函数返回的值。
最后,I S 表示如果变量 S 的值为真,则继续执行这一行的其余部分。 I 或 IF 命令还具有将 $T 变量设置为 1(如果表达式为真)或 0(如果表达式为假)的副作用。如果您的代码行后面有一个 else 语句,这一点很重要,该语句使用$T 来确定前面的 if 语句是否返回 false。
【讨论】:
意思是
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
【讨论】: