Function Erlang中的可变可用性
我想知道如果函数没有显式传递,是否有可能让函数获取变量 问题主要是关于清理我的代码,因为我有许多函数需要将每个变量传递给下一个函数 例如,在SML中,可以通过以下方式轻松实现:Function Erlang中的可变可用性,function,variables,erlang,global,Function,Variables,Erlang,Global,我想知道如果函数没有显式传递,是否有可能让函数获取变量 问题主要是关于清理我的代码,因为我有许多函数需要将每个变量传递给下一个函数 例如,在SML中,可以通过以下方式轻松实现: fun myFun varx vary varz let fun otherFun () = varx fun otherFun2 () = vary in otherFun() + otherFun() end 有没有办法让其他函数看到未显式传递给它的变量?或者这不是在erl
fun myFun varx vary varz
let
fun otherFun () = varx
fun otherFun2 () = vary
in
otherFun() + otherFun()
end
有没有办法让其他函数看到未显式传递给它的变量?或者这不是在erlang中编程的方式吗?erlang变量范围的工作方式大致相同: 例如:
希望这有帮助。但它只在定义闭包/乐趣时起作用,不能创建其他函数的本地函数。
add_two(X) ->
F = fun(Y) ->
X + Y
end,
F(2).