Reasoned Schemer (58) 10章 ifte もう少し
if-then-elseと
conda
、なんとなくつながりがありそうな気はするんだけど
どうなるんだ?
conda
の式をifte
で書けるはずなんだよな
(conda (#s #u) (#s #s))
を書き直してみよう
えーと
(ifte #u #s (ifte #s #u
…
最後のelse部は何だ?
なんにもマッチしなかった場合だから、#u
でいいのかな
(ifte #u #s (ifte #s #u #u))
ね
> ((ifte fail succeed (ifte succeed fail fail)) empty-s)
()
> ((ifte succeed succeed (ifte succeed fail fail)) empty-s)
(())
よさそう
なんだけど
failが()
なのはいいとしてsucceedは(())
でいいんだったかな・・・
()
でなければsucceedってことでいいのか
めっちゃ基本的なところがわかってなかった
> (succeed empty-s)
(())
> ((== x 'a) empty-s)
(((#(x) . a)))
いいことにしよう