1
我的任務是編寫一個名爲any?
的程序,它需要輸入一個列表和一個參數的過程,然後告訴您該列表中的任何元素是否滿足該過程。球拍 - 如何使用foldr來評估列表中的任何元素是否滿足參數?
例如:(any? odd? (list 2 4 6 8))
- >假
我需要在程序中使用foldr相似。
(define (any? procedure list1)
(foldr (lambda (x y) (if (procedure x) true (any? procedure y))) false list1))
這是我到目前爲止,但是當我在(any? odd? (list 2 4 6 8))
運行程序我不斷收到一個錯誤說「foldr相似:第三個參數必須是一個列表,提供虛假」。我認爲這是因爲空的基本情況變成布爾型的假,然後用y代替,這是無效的,因爲你需要一個列表來運行遞歸調用。
有人可以幫助我通過思考過程來解決這個問題嗎?
謝謝!我正在讀更多的關於摺疊,我不相信我沒有看到這一部分 – gurdingering