Reference/caseq

Last-modified: 2011-05-03 (火) 19:28:15

条件式を評価し、続く節を上から順に探索して、評価値と一致するものが値のリストに含まれる節を探し出し、その節の式または処理を順に評価し、最後の評価値を返す。

値同士の比較に equal 関数を使うのが case、eq 関数を使うのが caseq であり、どちらも使い方の形式は同じである。

(case 条件式
   ((値1a 値1b 値1c …)
     式(または処理)
     式(または処理)
      :
   )
   ((値2a 値2b 値2c …)
     式(または処理)
     式(または処理)
      :
   )
   ((値3a 値3b 値3c …)
     式(または処理)
     式(または処理)
      :
   )
    :
   (t ; 該当する値がない場合
     式(または処理)
     式(または処理)
      :
   )
)

Scheme言語と違う点として、該当する値がない場合の識別には else ではなく t を使う。