1
我正在使用Scheme,並試圖以遞歸方式刪除列表中倒數第二個元素。 這是我有:如何從Scheme的列表中刪除第二個到最後一個元素?
(define delete
(lambda (num lst)
(cond
((equal? (length lst) 1) '())
((null? lst) '())
(else (cons (car lst)(delete num (cdr lst)))))))
(define second
(lambda(lst)
(delete (- (length lst) 1) lst)))
(second '(1))
(second '(3 5 6))
(second '(2 7 8 4 9))
返回此:
()
(3 5)
(2 7 8 4)
當它應該返回此:
()
(3 6)
(2 7 8 9)
(第二「(1))是做什麼的我打算但我已經與另一部分玩了幾個小時,我仍然處於虧損狀態。任何提示或建議,將非常讚賞在這一點上。編輯: 哇,謝謝!那是一行缺少的代碼-_-杜我!
低於一個很好的答案,你可以爲在列表中有2個元素添加一個特殊的情況?考慮點擊複選標記以給予響應者信用! –