Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

Case

case と target を比較し、最初に一致した case に関連する値を返します。

Synopsis

Case(target,case:rvalue,case:rvalue,...,:default)

引数

target case 引数と比較する値、変数、または式
case target の値と比較する値、変数、または式
rvalue targetcase が完全に一致したときに返される値
default オプションtarget に一致する case がない場合に返される値

概要

Case 関数は target と case のリスト (リテラルや式) を比較し、最初に一致した case の値に関連付けられている rvalue を返します。case:rvalue の組み合わせは無制限に指定できます。case は指定された順番 (左から右へ) に比較されます。最初に完全に一致したときに比較は終了します。

一致する case がない場合は、default が返されます。一致する case がなく、default が指定されていない場合は、エラーが返されます。

引数

target

CASEtarget を一度評価し、その結果を左から右に case と 1 つずつ比較します。

case

case はリテラルや式ですが、リテラルはコンパイル時に評価できるので、式よりも、リテラルを照合した方がはるかに効率的です。各 caservalue と組み合わせる必要があります。caservalue の組み合わせは無制限に指定できます。

rvalue

rvalue はリテラル、または式です。rvalue はすべて特定の case と関連付けられます。rvaluecase はコロン (:) で結合します。また、他のペアとの間はコンマ (,) で区切ります。rvalue は、target 値が、関連する case 値と完全に一致する場合に返される値です。左から右に照合し、最初に完全に一致したものだけが、rvalue を返します。

default

default 引数はリテラル、または式です。defaultcase:rvalue の形式で指定しますが、コンマ区切り文字とコロンの間に case は指定しません。default は常に CASE 関数の最後の引数に指定します。default 値は、完全に一致するものがない場合に返される値です。

以下は、数値入力を受け、適切な説明文字列を書き出す Case の例です。

input "Input a number 1-3: ",x
multi=CASE(x,1:"single",2:"double",3:"triple",:"input error")
PrintLn multi

関連項目

FeedbackOpens in a new tab