所以我问了一些关于这个问题的问题,人们很乐意尝试提供帮助,但是我没有计划方面的经验,所以即使开始我也有很多麻烦。我们的教授告诉我们他会帮助我们,但他没有回复我们的任何电子邮件,并且明天晚上将完成任务。
(define disk
'("D" "main"
(("F" "file1.txt" (30)
("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))))))))
我需要通过此列表递归并找到所有文件大小的总和。我无法弄清楚如何递归。我用汽车和cdr吗?会员?指数?第一个函数可能涉及使用eq?比较" F"和" D"查看该列表是否包含文件大小元素。
但是,每当我尝试找到第一个目录以外的任何内容时,我可以让DrRacket返回#false。
(define (file? a)
(car disk)
)
(file? disk)
使用这个,我可以返回" D"。语法对我来说太陌生了,我在使用if语句来测试它是否符合我的要求时遇到了麻烦。这项任务只剩下一天了,我整个星期都没有取得任何实际进展。我已经和同学们联系了,而且我并不孤单。考虑一下这个我求助,因为我无法在其他任何地方找到它。
谢谢。
答案 0 :(得分:2)
哇!听起来你没有得到很多帮助。看起来你在如何设计程序的第12节:
http://www.ccs.neu.edu/home/matthias/HtDP2e/part_two.html#%28part._ch~3aproj-lists%29
以下是您的需求:
在那之后,你应该做好充分的准备来完成它。