Reasoned Schemer (012) rembero続き
(a b e d _0)
はy
=e
ってことなんだろうけどやっぱり
なんで右側のe
が消えているのか
左のe
が消える場合も右のe
が消える場合もあって、ここでは右のe
が消えてる、ってこと?
ひとつずつ再帰を追っていけばわかるのかなあ
(a b _0 d _1 e)
に至ってはなぜ_0が消えないのか
「その他」なケースではy
は消えるはずな気がするんだけど
なにか根本的に理解できてないところがある
でも先へ進む
もしかしたら説明が出てくるかもしれないし
次は(run* (y z) (rembero y
(,y d ,z e) (,y d e)))
を見ていきます
(y z)
が見えたほうが理解の足しになるかも
ひとつめの値は(d d)
rembero
はリスト`(,y d ,z e)
からy
を削除して、リスト`(d ,z e)
を作ります。
やっぱり具体的な値にする前に削除してるのか・・・
ふたつめの値は(d d)
rembero
はリスト`(,y d ,z e)
からd
を削除して、リスト`(,y ,z e)
を作ります。
ひとつめの値と同じだけど見つけ方が違うとまた出てくるんだな
みっつめの値は(_0 _0)
これも右側が消えてることになる
rembero
はリスト`(,y d ,z e)
からz
を削除して、リスト`(,y d e)
を作ります。
最後は(e e)
rembero
はリスト`(,y d ,z e)
からe
を削除して、リスト`(,y d ,z)
を作ります。
どうやって値を探してるんだろう
カンのいいひとだともう探索のアルゴリズムが見えてきてるんだろうなあ