我是Erlang的新手。如果我这样做
H = fun(X) -> X*X.
然后很好。但是,如果我将该功能移动到模块,它会说“非法表达”。例如这个
H = misc_functions:square.
请帮忙。
答案 0 :(得分:17)
Erlang函数引用需要关键字fun
和arity。假设square
采用单个参数,正确的赋值是:
H = fun misc_function:square/1
答案 1 :(得分:2)
您也可以这样做:
1> F = fun(X) -> misc_function:square(X) end.
#Fun<erl_eval.6.13229925>
2> F(4).
16
3>
定义一个调用所需函数内部的函数。