gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 04:53:26 24 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/

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