$Case Function
The $Case function evaluates an expression (its first argument), and returns the result that corresponds to the value of the expression (the rest of the arguments). The last argument can be a default result, returned if no other argument value matches the expression.
VS Code - ObjectScript
/// examples for ObjectScript Tutorial
Class ObjectScript.Examples
{
ClassMethod Celebrate()
{
write !, "Yippee! I won!"
}
ClassMethod Complain()
{
write !, "Oh well, I lost."
}
}
$Case can return literals, as shown in the first example, or it can return names of class methods, as in the second example.
Testing using the Terminal
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>