函數編程對我來說是非常新的,似乎無法理解如何使用函數作爲另一個函數的參數。 finalvalue應該計算一段時間後的最終值,以及2個時間段後的finalvalue2。計算Haskell的興趣
interest :: Float -> Float -> Float
interest capital rate = capital * rate * 0.01
finalvalue :: Float -> Float -> Float
finalvalue capital rate = capital + interest capital rate
finalvalue2 :: Float -> Float -> Float
finalvalue2 capital rate = finalvalue capital rate + interest finalvalue capital rate rate
我得到這個:
Couldn't match expected type `Float'
against inferred type `Float -> Float -> Float'
In the first argument of `interest', namely `finalvalue'
In the second argument of `(+)', namely
`interest finalvalue capital rate rate'
In the expression:
finalvalue capital rate + interest finalvalue capital rate rate
我敢肯定,我錯過了一個基本點在這裏,但我無法找出它是什麼。
計算您聲明的「興趣」參數數量以及參數個數適用於'finalvalue2'。你看到有什麼問題嗎? – fuz
括號!或者$ –
@Nick:'$'在這裏不起作用,因爲函數調用不是最後一個參數。 – sepp2k