[Haskell筆記]復合函數
復合函數是指使用一個函數的輸出作為另一個函數的輸入。數學中,符合函數是這麽寫的:
f∘g(x) = f(g(x))
相應的,Haskell中復合函數也有兩種寫法:
(f . g) x
或
f (g x)
練習
15.1 定義求柱體體積的函數為底面積乘高及求圓面積函數、求矩形面積函數。分別用兩種方式寫出利用復合函數求圓柱體及立方體體積的表達式。
答案
14.1 無論輸入的是什麽數字,輸出均為-1。因為
myCase _ = -1
排在最前,覆蓋了後面的語句。要避免這一情況,需要將這一句放在最後。事實上,如果沒有這麽放在最後,GHC會警告:
Warning: Pattern match(es) are overlapped
In the definition of `myCase':
myCase 0 = ...
myCase 1 = ...
myCase 2 = ...
Leave a Reply