[英]Erlang: Why does this fail with a 'badarith' exception?
是否可以在Erlang中实现闭包?
例如,我如何从Scheme翻译此片段?
(define (make-adder n)
(lamdba (x) (+ x n)))
我试过以下,但我显然遗漏了一些东西。
make_adder(n) ->
fun (x) -> x + n end.
编译它会产生错误
Warning: this expression will fail with a 'badarith' exception
你不能添加原子。 变量从erlang中的Capital Letters开始。 以小写字母开头的单词是原子。
换句话说,你的问题与fun
无关,你只需要大写你的变量名。
make_adder(N) ->
fun (X) -> X + N end.
变量从erlang中的Capital Letters开始。 以小写字母开头的单词是原子。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.