【问题标题】:Understanding a Mumps statement了解腮腺炎声明
【发布时间】:2011-03-21 08:56:19
【问题描述】:

这句话是什么意思:S A=$P(P,,2) I S

【问题讨论】:

    标签: mumps


    【解决方案1】:

    这可能不是基于 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 的值为真,则继续执行这一行的其余部分。 IIF 命令还具有将 $T 变量设置为 1(如果表达式为真)或 0(如果表达式为假)的副作用。如果您的代码行后面有一个 else 语句,这一点很重要,该语句使用$T 来确定前面的 if 语句是否返回 false。

    【讨论】:

    • 不能添加任何东西,除了在 MUMPS 中空格有重要意义,一般语法是:...,所以如果有不是命令的参数,它后跟两个空格:...(无论如何,很高兴看到 M 用户,或者至少是这里的前用户。)跨度>
    【解决方案2】:

    意思是

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-23
      • 1970-01-01
      • 1970-01-01
      • 2018-10-02
      • 2012-03-05
      相关资源
      最近更新 更多