《条件》 を評価し, その値が #f以外なら 《式》 を評価してその値を返す. もし 《条件》 の値が #fなら, 《式
》 を評価してその値を返す. 《式
》 が与えられていなければ ()を値として返す.
例:
(if #t 1)1
(if #t 1 2)1
(if #f 1)()
(if #f 1 2)2
各 《節》 は次のいずれかの形を取る.
《条件》 を評価し,その値が #fなら次の節に移る.
#f以外なら 《式》
《式
》 を順次評価して
《式
》 の値を返す.
《式》 が1つも与えられないときは,
《条件》 の値を返す.
《条件》 を評価し,その値が #fなら次の節に移る.
#f以外なら《関数式》 を評価し,
その値を引数の関数として呼び出す.
関数への引数は《条件》の値である.
呼び出された関数の返り値を cond式の値として返す.
《式》
《式
》 を
順次評価して 《式
》 の値を返す.
《式》 が1つも与えられないときは ()を返す.
例:
(cond ((> 3 3) 'greater)
((< 3 3) 'less)
(else 'equal))equal
まず 《鍵》 を評価する. 各 《節》 は次のいずれかの形を取り, caseは次のように実行を行う.
《鍵》 の値と
《データ》
《データ
》 のいずれかが
eqv?の意味で等しければ,
《式
》
《式
》 を
順次評価して 《式
》 の値を返す.
《式》 が1つも与えられないときは ()を返す.
《データ
》
《データ
》 のいずれにも
eqv?の意味で等しくなけば,次の節に移る.
《式》
《式
》 を
順次評価して 《式
》 の値を返す.
《式》 が1つも与えられないときは ()を返す.
例:
(case (car '(c d))
((a i u e o) 'vowel)
((w y) 'semivowel)
(else 'consonant))consonant