Erlang中的可变可用性

时间:2013-11-11 10:49:48

标签: function variables erlang global

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

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

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

fun myFun varx vary varz
   let
     fun otherFun () = varx
     fun otherFun2 () = vary
   in
     otherFun() + otherFun()
end

有没有办法让其他函数看到未明确传递给它的变量?或者这不是人们在erlang中编程的方式吗?

1 个答案:

答案 0 :(得分:1)

Erlang变量范围的工作原理大致相同:

E.g:

add_two(X) ->
 F = fun(Y) ->
         X + Y
     end,
  F(2).

希望这有帮助。