リストのディレクトリとサブディレクトリを通過してファイルサイズを追加できる再帰的なソリューションを作成する必要があります。私はスキームでの経験がゼロであり、教授は私に戻っていません。私はいくつかの試みを試みましたが、それらはすべてエラーで終了します。もし誰かが私を助けることができたら、私はこの任務を理解するのに多くの時間がないので、大いに感謝します。私は関数の外let文を使用してみましたが、私は何の手掛かりかを持っていないので、それはまだ動作しませんSchemeのリストを解析し、すべての数字の合計を取得する
Ill-formed special form: (let (...))
:私は、コードを実行すると、私はいつもこのエラーが出る
(define disk '("D" "main"
(
("F" "file1.txt" (30))
("F" "file2.txt" (11))
("D" "sub1"
(
("F" "file1.txt" (1234))
("F" "file2.txt" (2345))
("F" "file3.txt" (3456))
)
)
("D" "sub2"
(
("F" "file1.txt" (1234))
("F" "file2.txt" (2345))
("F" "file3.txt" (3456))
)
)
)
)
)
(define (getEnd n)
(let ((n 1)))
(let ((m 0)))
(member 3 '(disk.n))
(+ m (getEnd (+ n 1)))
)
スキームが動作します。私はクラスメート達に手を差し伸べました。彼らはそれを理解することもできません。
ご協力いただきありがとうございます。
私たちが 'let'を使う方法ではない - 構文が正しくない –
このコードはSchemeコードよりもCコードに似ています。 –