Jim*_*ffa 6 erlang haskell functional-programming
来自Haskell玩氮气并遇到一些我无法找到的例子,所以如果有人可以帮助我:
在erlang中Haskell的位置(以及或者是否允许或任何类型的函数嵌套以访问父变量)?怎么样?你能?
burnOrDie hotness = foldl1 (>>) $ map burn ["Jimmy", "Adam", "Gonzo"]
where burn x
| hotness < 3 = print $ x ++ ": Ouch!"
| otherwise = print $ x ++ ": GAHHH! *die*"
Run Code Online (Sandbox Code Playgroud)
部分申请?哈斯克尔:addOne = +1
在线lambda函数?哈斯克尔:map (\x -> x+x) [1,2,3]
我不是二郎的专家,但我会尽力回答.
out(A) ->
X = A + 1,
SQ = fun(C) -> C*C end,
io:format("~p",[SQ(X)]).
Run Code Online (Sandbox Code Playgroud)
这里SQ函数可以访问父变量.
这与上面相同,您可以使用它fun
来定义您的匿名函数.
我认为erlang没有任何理智的部分功能应用.你唯一能做的就是将函数包装回函数.
add(X) ->
Add2 = fun(Y) -> X + Y end,
Add2.
Run Code Online (Sandbox Code Playgroud)
现在你可以做点什么了
1> c(test).
{ok,test}
2> A=test:add(1).
#Fun<test.0.41627352>
3> A(2).
3
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1603 次 |
最近记录: |