這是我第一次發佈,我對計劃有疑問。 我必須從列表中刪除某個元素的所有事件,通過既作爲參數, 當進入參數那樣:刪除計劃中的列表中的元素
]=> (rmobject '(1 2 3 5 0 2 3 5 3) 3)
我得到一個錯誤:
The object (3 5 3 2 3 6 3) is not applicable
我猜想這是因爲第二個lambda,這是不正常,但爲什麼?
(define (rmobject list1 obj)
(if (null? list1)
'()
(if (= obj (car list1))
((lambda (list1) (cdr list1)) list1)
((lambda (list1) (list1)) list1)))
(cons (car list1) (rmobject (cdr list1) obj)))
我重寫了代碼,這適用於刪除元素,但正確的沒有,並且都假設是相同的。在此先感謝
(define (rmobject list1 obj)
(if (null? list1)
'()
(if (= obj (car list1))
(rmobject (cdr list1) obj)
(cons (car list1) (rmobject (cdr list1) obj)))))
'((拉姆達(列表1(列表1))列表1))))'將導致錯誤 – leppie