2016-10-04 20 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

這裏有您需要什麼:

  • 你的問題的輸入(具體的你的問題的表徵數據定義文件系統樹)。
  • 數據示例,包括許多更簡單的示例。
  • 該數據定義的模板。
  • 您正在嘗試編寫的函數的目標語句和標題。
  • 您嘗試編寫的函數的測試用例。

之後,你應該做好準備完成它。