2

このステートメントの意味は何ですか: S A=$P(P,,2) I S?

4

2 に答える 2

8

これは、MUMPS実装に基づく有効な構文ではない可能性があります。たとえば、piece関数に渡される2番目のパラメーターが空白であるため、IntersystemCacheは構文エラーを生成します。

$Pまたは$PIECE(str, delim, num)、関数は、delimで区切られると、strのnum番目セグメント返します。したがって、「b」を返します。delimが空の文字列の場合、は空の文字列を返します。ただし、何も渡さない場合と空の文字列を渡す場合には違いがあります。p("a^b^c","^",2)$P

S A=$P(P,,2)変数Aをpiece関数によって返される値に設定することを示します。

最後に、は、変数SI Sの値がtrueと評価された場合、この行の残りの部分を実行し続けることを示しています。orコマンドには、式がtrueの場合は変数を1に設定し、式がfalseの場合は0に設定するという副作用もあります。これは、コード行の後にelseステートメントが続く場合に重要です。これは、前のifステートメントがfalseを返したかどうかを判断するために使用されます。IIF$T$T

于 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 に答える