Function Erlang中的可变可用性

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

我想知道如果函数没有显式传递,是否有可能让函数获取变量

问题主要是关于清理我的代码,因为我有许多函数需要将每个变量传递给下一个函数

例如,在SML中,可以通过以下方式轻松实现:

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).