林喜面臨的一個問題與car
和cdr
功能汽車和方案CDR被我逼瘋了
例如:
首先我定義了一個列表把它叫做X
(define x (a (bc) d ((ef) g)))
所以x現在等於(a (bc) d ((ef) g))
現在例如我需要從這裏得到g列表只使用car
和cdr
(!! noshortcuts as caddr cddr !!)正確答案是:
(car(cdr(car(cdr(cdr(cdr x))))))
但是怎麼樣? :-(我根據規則無效(即car
給出列表的頭部和cdr
使尾部)
,而不是得到了答案上面我一直到達錯誤的答案和。 任何一個可以幫助我理解這一點。 ..給我臺階或解決它提前一步一步
感謝的一種方式。我真的病計劃。
@(回答我的問題的所有偉大的人) 我明白你們寫了什麼,只是有一些問題 | (g))我應該用汽車擺脫外在的禁忌才能得到(g)?| – 2010-04-30 21:06:04
總是讓我失望的是,基於LISP的語言之一是它們似乎共享的** INCREDIBLY **糟糕的命名方案 – 2010-04-30 21:15:56
當你擁有(g)'時,你有一個列表,你需要一個原子。使用'汽車'獲取第一個元素。同樣,如果你有'((g))',你需要使用'car'兩次,先到達'(g)',然後到'g'。 – 2010-05-03 21:09:41