1
我正在爲考試進行研究,但我不確定是否瞭解Scheme中的list
程序。我知道它可以用於創建列表變量,如(define x (list 'a 'b 'c))
。但是我看到程序創建它的另一個用法:計劃中的清單程序
1 ]=> (define foo3
(lambda (b lst)
(if b
(car lst)
(cadr lst)
)
)
)
;Value: foo3
1 ]=> (foo3 #f ’(a b))
;Value: b
1 ]=> ((foo3 #t (list cdr car)) ’(a b c))
;Value: (b c)
什麼是(名單CDR車)是什麼意思? (我知道什麼cdr
和car
意味着首先參考列表和其餘部分)
噢,我明白了。我仍然認爲這個列表基本上是C中的數組。我不認爲我們可以在其中存儲過程。非常感謝你。 – 2013-05-01 17:38:20
是的,這是函數式編程語言中很好的東西之一:過程就像任何其他數據類型一樣,可以將它們作爲參數傳遞,從其他過程返回它們,將它們存儲在數據結構中等。 – 2013-05-01 17:39:40
@MertToka: http://stackoverflow.com/q/252748/166749 – 2013-05-01 17:48:10