FP學習之二

上次匿名函數(shù)的用法沒理解透,弄2個例子復習下
元組傳參會這樣

map (\(a,b) -> a * b) [(1,2),(3,5),(6,3),(2,6),(2,5)]

和下面這種是等價的,區(qū)別是傳參的方式不同

zipWith (\a,b -> a * b) [1,3,6,2,2] [2,5,3,6,5]

還有一個左折疊foldl 和 右折疊foldr,其實可以把map理解對列表的循環(huán),而把fold理解成對列表的遞歸,結果是15

foldl (\acc x -> acc + x) 0 [1,2,3,4,5]
foldl (+) 0 [1,2,3,4,5]

$ 這個符號是什么? 由于這個符號在Haskell里面是運算最低優(yōu)先級別,所以用來做函數(shù)調用符,其實就是可以省括號

f $ x = f x

** .是什么,Haskell里面這么多新運算符!! 其實是函數(shù)組合符號**

f . g = \x -> f (g x)

今天理解到這里吧,有時間再繼續(xù)~~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容