2016-10-04 74 views
0

所以我问了一些关于这个问题的问题,并且人们非常友好地尝试提供帮助,但是我没有计划经验,所以我甚至有很多麻烦开始。我们的教授告诉我们他会帮助我们,但他没有回复我们的任何电子邮件,并且明天晚上将完成任务。通过目录递归来添加文件大小使用计划

(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)))))))) 

我需要通过这个列表,重复并找到所有的文件大小总和在一起。我无法准确找出如何缓解。我使用汽车和司机吗?会员?指数?第一个功能可能涉及使用eq?比较“F”和“D”以查看该列表是否包含文件大小元素。

但是,每当我尝试查找第一个目录后面的所有内容时,DrRacket就会返回#false。

(define (file? a) 
    (car disk) 
) 

(file? disk) 

使用这个,我可以返回“D”。语法对我来说很陌生我在使用if语句来测试它是否是我需要的时遇到了麻烦。这项任务只有一天的时间,整个星期我都没能取得任何实质进展。我向同学们伸出了手臂,我并不孤单。考虑到我求助,因为我找不到其他地方。

谢谢。

回答

2

哇!听起来你在这项任务中没有得到太多的帮助。它看起来像你的程序如何设计第12节:

http://www.ccs.neu.edu/home/matthias/HtDP2e/part_two.html#%28part._ch~3aproj-lists%29

这里有您需要什么:

  • 你的问题的输入(具体的你的问题的表征数据定义文件系统树)。
  • 数据示例,包括许多更简单的示例。
  • 该数据定义的模板。
  • 您正在尝试编写的函数的目标语句和标题。
  • 您尝试编写的函数的测试用例。

之后,你应该做好准备完成它。

相关问题