2011-10-29 30 views
1

如果你有一個列表清單,你如何訪問列表中的第一個剩餘部分?你如何對列表中的第一個列表的其餘部分執行遞歸? (球拍)

例如如果你有

(define l1 (list (list (list 1 1) (list 2 3) (list 7 8)) 
      (list (list 2) (list 3 4 5)))) 

您怎麼評價這部分

(list (list 1 1) (list 2 3) (list 7 8)) 

執行遞歸當我嘗試(rest (first l1))

例如(map add1 (rest (first l1))

我得到一個錯誤add1: expects a number; given (list 2 3)

+0

您可以添加您收到您的問題的錯誤? –

回答

2

你是完全正確的代碼

(rest (first l1)) 

產生第一列表的其餘部分。具體做法是:

(define l1 (list (list (list 1 1) (list 2 3) (list 7 8)) 
      (list (list 2) (list 3 4 5)))) 

(rest (first l1)) 

產生

(list (list 2 3) (list 7 8)) 

這是真的,你不能添加此列表的元素結合在一起,因爲他們不是數字。

這是回答您的問題嗎?

相關問題