0

明示的に渡されない場合、関数に変数を取得させることが可能かどうか疑問に思っています。

次の関数に使用されるすべての変数を渡す必要がある多くの関数があるため、問題は主にコードのクリーンアップに関するものです。

たとえば SML では、次のような方法でこれを簡単に実現できます。

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

他の関数が明示的に渡されていない変数を参照できるようにする方法はありますか? それとも、これは erlang でプログラムする方法ではないのでしょうか?

4

1 に答える 1

1

Erlang の変数スコープはほぼ同じように機能します。

例えば:

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

お役に立てれば。

于 2013-11-11T11:28:37.660 に答える