gpt4 book ai didi

Erlang:从函数返回一个函数

转载 作者:行者123 更新时间:2023-11-30 23:57:10 25 4
gpt4 key购买 nike

我知道 Erlang 支持匿名函数。我的问题是,我可以从函数返回一个函数,然后从外部调用返回的函数吗?如果是这样,我该怎么做?我知道这在很多语言中都是可能的,比如 C 和 Python。这是我尝试做的,但不起作用:

-module(test).
-export([run/0]).

test() ->
io:format("toasters", []).

bagel() ->
test.

run() ->
(bagel())().

结果:
Erlang/OTP 17 [erts-6.2] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

Eshell V6.2 (abort with ^G)
1> c(test).
test.erl:4: Warning: function test/0 is unused
{ok,test}
2> test:run().
** exception error: bad function test
in function test:run/0 (test.erl, line 11)
3>

最佳答案

啊,我们来了:

-module(test).
-export([run/0]).

test() ->
io:format("toasters", []).

bagel() ->
fun test/0. % <- This is what I needed to change.

run() ->
(bagel())().

我在找 here对于一个答案,他们没有明确说明,但是顶部附近的示例刚刚给了我提示。

关于Erlang:从函数返回一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30793453/

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