gpt4 book ai didi

erlang - 在 erlang 模块中使用匿名函数时出现问题

转载 作者:行者123 更新时间:2023-12-02 21:52:05 25 4
gpt4 key购买 nike

当我在 erlang 中使用匿名函数时,一个问题引起了我的注意。该函数定义如下

-module(qt). 
-export([ra/0]).
ra = fun() -> 4 end.

但这不起作用

-export(Ra/0]). 
Ra = fun() -> 4 end.

这也不是谁能告诉我为什么 erlang 表现出这种行为?

最佳答案

Erlang 模块不能导出变量,只能导出函数。

您可以通过导出一个具有零参数且仅返回一个值的函数来实现类似于导出变量的功能(匿名函数是有效的返回值):

-module(qt).
-export([ra/0]).
ra() ->
fun() -> 4 end.

现在您可以从 shell 中使用它:

1> c(qt).
{ok,qt}
2> qt:ra().
#Fun<qt.0.111535607>
3> (qt:ra())().
4

关于erlang - 在 erlang 模块中使用匿名函数时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18401291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com