传递lambda函数作为HOF的参数

the*_*mil 1 haskell

我有这样的功能

f d = foldl (\acc x -> acc ++ [distance] where distance = 1) d [1..3]
Run Code Online (Sandbox Code Playgroud)

对于一些GHCI说:

error: parse error on input ‘where’
Run Code Online (Sandbox Code Playgroud)

GS *_*ica 7

where条款适用于声明组,而不适用于表达式.你let改用:

(\acc x -> let distance = 1 in acc ++ [distance])
Run Code Online (Sandbox Code Playgroud)