2
我遇到了一個問題,要求編寫一個函數將函數應用於Integer並計算答案。這裏是問題:你如何在haskell中的參數中使用函數?
聲明類型並定義一個函數,該函數使用函數(比如f)和整數(比如n)並返回f 0 + f 1 + f 2 + ... + f n。例如,有趣的平方5將返回55,即0 + 1 + 4 + 9 + 16 + 25(「平方」表示「平方」)。
有誰知道該怎麼做?我非常感謝它。
我遇到了一個問題,要求編寫一個函數將函數應用於Integer並計算答案。這裏是問題:你如何在haskell中的參數中使用函數?
聲明類型並定義一個函數,該函數使用函數(比如f)和整數(比如n)並返回f 0 + f 1 + f 2 + ... + f n。例如,有趣的平方5將返回55,即0 + 1 + 4 + 9 + 16 + 25(「平方」表示「平方」)。
有誰知道該怎麼做?我非常感謝它。
這就是所謂的高階函數
fun :: (Int -> Int) -> Int -> Int
fun f n = ???
,我們只是用f
像一個正常的功能,那麼寫f 0
或什麼的。 ???是的
f 0 + f 1 + ... + f n
至於如何做到這一點Haskell的翻譯,這看起來像功課所以我就提示你要看看使用[0..n]
獲取列表從0到n
和
map :: (Int -> Int) -> [Int] -> [Int] -- restricting for clarity
該列表中的應用的功能,每一個項目(嘿它的另一個高階函數)
sum :: [Int] -> Int
其中在列表中增加了所有的數字。
+1但是不能將這個類型概括爲'Num a =>(Int - > a) - > Int - > a'? (雖然我同意這個作業問題可能期待你的答案) –