美文网首页
FP学习之二

FP学习之二

作者: 80s老人 | 来源:发表于2015-12-01 22:53 被阅读24次

    上次匿名函数的用法没理解透,弄2个例子复习下
    元组传参会这样

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

    和下面这种是等价的,区别是传参的方式不同

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

    还有一个左折叠foldl 和 右折叠foldr,其实可以把map理解对列表的循环,而把fold理解成对列表的递归,结果是15

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

    $ 这个符号是什么? 由于这个符号在Haskell里面是运算最低优先级别,所以用来做函数调用符,其实就是可以省括号

    f $ x = f x
    

    ** .是什么,Haskell里面这么多新运算符!! 其实是函数组合符号**

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

    今天理解到这里吧,有时间再继续~~

    相关文章

      网友评论

          本文标题:FP学习之二

          本文链接:https://www.haomeiwen.com/subject/ddgjhttx.html