私はプログラミングで数学のクラスを取っている物理学専攻です (私は数学のために入学しました) が、これまでどの言語でコーディングしたこともないので、Racket に関するすべてが私にとってまったく新しいものです。ここまでのクラスの目標は、セット関連の関数を取得し、Racket プログラムに変換することです。これらの関数の 1 つは、リストのリストを取得し、各要素の最初の項目を削除することです。
f({(0, 1, 0), (1, 0, 0), (1, 1, 1)...} = {(1, 0), (0, 0), (1, 1)。 ..}
これまでの手順としてこれを取得しました:
(define (procA set)
(cond
((null? set) '())
((rest (first set)))
((procA (rest set)))))
プログラムを実行すると、適切な関数が適用されて返されますが、最初の要素のみが返されます。
(procA '((0 1 0) (1 0 0) (1 1 1)))
'(1 0) に戻ります。それはある種の「マップ」機能ですか、それともまったく異なるものですか? リストの残りの部分は最後の行で処理できると思っていましたが、そうではありませんでした。