該当のコード
Scheme
1(define (remove x ls) 2 (if (null? ls) 3 '() 4 (let ((h (car ls))) 5 ((if (eqv? x h) 6 (lambda (y) y) 7 (lambda (y) (cons h y))) 8 (remove x (cdr ls))))))
質問
上記のコードは、渡されたリストに該当する値xが存在すればその値を除いたリストに評価される、という関数です。
そこで質問なのですが、この関数中の(lambda (y) (cons h y))について、(cdr ls)になるであろう、仮引数yに渡されるリストはどこで作られるのでしょうか?
初歩的な質問ではあるかと思いますが、お時間ございましたら回答いただけると嬉しいです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/25 14:56 編集
2018/10/25 14:58
2018/10/26 02:52