$Case 関数
$Case 関数は式 (最初の引数) を評価し、式の値 (残りの引数) に対応する結果を返します。式に一致する引数値が存在しない場合、最後の引数が既定値として返されます。
VS Code - ObjectScript
/// examples for ObjectScript Tutorial
Class ObjectScript.Examples
{
ClassMethod Celebrate()
{
write !, "Yippee! I won!"
}
ClassMethod Complain()
{
write !, "Oh well, I lost."
}
}
$Case は、最初の例のように、リテラル値を返すことができます。また、2 番目の例のようにクラス・メソッドの名前を返すこともできます。
ターミナルを使用したテスト
USER>set survivor = 3
USER>write $case(survivor, 1:"Rich", 2:"Kelly", 3:"Rudy", 4:"Sue", :"")
Rudy
USER>do $case(survivor, 1:##class(ObjectScript.Examples).Celebrate() , :##class(ObjectScript.Examples).Complain() )
Oh well, I lost.
USER>set survivor = 1
USER>do $case(survivor, 1:##class(ObjectScript.Examples).Celebrate() , :##class(ObjectScript.Examples).Complain() )
Yippee! I won!
USER>