我是Haskell的新手,我不明白这段代码的工作原理.任何人都可以向我解释一下内部绑定在这个例子中是如何工作的:
f = (\x -> ((\x -> x*x) 3)+x)
Run Code Online (Sandbox Code Playgroud)
当我尝试 f 1我得到10
我看过不同的折叠和折叠以及其他一些折叠,他们解释得相当好.
在这种情况下,我仍然遇到麻烦.
length :: [t] -> Int
length list = foldr (+) 0 (map (\x ->1) list)
Run Code Online (Sandbox Code Playgroud)
有人可以一步一步地尝试向我解释.
而且foldl也将如何运作.