我有一個函數來扭轉在列表中的元素的順序,如如何扭轉列表元素的順序方案
(define (rvsl sequence)
(foldl (lambda (x y)
(cons y x))
'() sequence))
然而,當我跑了它在DrRacket與輸入
(rvsl (list 2 3 4))
DrRacket告訴我這
cons: second argument must be a list, but received empty and 2
有誰請給我一些想法去解決呢?
在此先感謝!
只需使用'(cons x y)'而不是'(cons y x)'。 – 2014-09-01 14:15:30
您定義了rvsl以獲取兩個參數,並且只有在您使用它時才傳遞它。您可以從一開始就傳遞兩個參數,或者創建另一個將正確數量的參數傳遞給rvsl的過程。 – malisper 2014-09-01 15:38:56