我很難理解如何構建一個解決方案來解決我對lambda表達式的作業問題。我必須編寫一個函數,它接受一個參數F,它是一個謂詞函數,並返回一個與F相反的新函數。嵌套lambda函數的方案
我知道在我的函數中的某個地方,我會返回不是來自傳入的謂詞函數中的值,而是返回相反的結果,但我對其餘的問題描述感到困惑。這個問題指出:「你將需要一個lambda表達式中的lambda表達式,因爲你不知道F會採用多少個參數(並且實際上可能需要一個可變數字),你將不得不使用apply和定義lambda表達式的語法這需要任意數量的參數「
我不明白如何設置嵌套的lambda表達式來做我想要的任何F可能會返回相反。我一直在試驗一些不同的東西,只是爲了看看我能不能到達任何地方,但我不明白嵌套的lambda表達式如何工作足以讓我到達任何地方。
(define converse
(lambda (F)
(lambda
(apply (not (F))))))
我知道這不會工作,但我需要幫助瞭解如何設置我的嵌套lambda表達式來做我想做的事情。
您可能使用的教學語言不允許使用:'lambda args'。這通常是Scheme中的_works_,它是定義具有可變數量參數的lambda的正確方法,但您的教學語言將其標記爲錯誤。嘗試使用更高級的教學語言 –
因此,當我測試我得到一個錯誤想要在第二個lambda中的「參數」周圍的parens。當我進行更改並再次測試時,我收到另一個錯誤,說我的過程只需要1個參數,但找到了2. – Yoink
不,你不能在args上添加括號!這就是我們告訴Scheme期望可變數量參數的方式。告訴我,你使用的是什麼教學語言? –