このステートメントの意味は何ですか: S A=$P(P,,2) I S
?
2 に答える
これは、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を返したかどうかを判断するために使用されます。I
IF
$T
$T
その意味は
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