こんにちは、mcar: contract violationexpected: mpair? というエラーが表示されました。given: () これらのコードの実行中:
(define helpy
(lambda (y listz)
(map (lambda (z) (list y z))
listz)))
(define print
(lambda (listy)
(cond
((null? list) (newline))
(#t (helpy (car listy) (cdr listy))
(print (cdr listy))))))
私のコードはリストでペアを返そうとしています。たとえば、呼び出す
(print '(a b c))
と、 が返され((a b) (a c) (b c))
ます。
コードを修正して更新するだけで、エラーは返されなくなりましたが、これらのコードを実行すると、ペア ( (ab) (ac) しか取得できません。
(helpy を定義する
(ラムダ (y listz)
(マップ (ラムダ (z) (リスト yz))
リスト z)))
(印刷を定義する
(ラムダ (listy)
(状態
((null? listy) (改行))
(#t (helpy (car listy) (cdr listy)))
(print (cdr listy)))))
再帰に何か問題があると思います