gpt4 book ai didi

erlang - 了解传递函数的参数数量 (erlang)

转载 作者:行者123 更新时间:2023-12-02 07:13:40 25 4
gpt4 key购买 nike

在 ERLANG 中:假设我们有一个函数 f(),它将 F1 作为输入,其中 F1 是一个函数。有没有办法知道F1的输入参数个数。

我觉得有一个解决方案,但我不确定。例如:

 -module(high).
-compile(export_all).

f1() -> 1.
f2(X) -> X.
f3(X, Y) -> {X,Y}.

run(F) -> io:format("F ~p ~n", [F]).

那么,函数run/1有没有办法知道传递的函数的信息[主要是传递的函数的输入参数个数]。

注意:请注意,这是一个理论问题。注意:apply(fun,[arguments]) 的代码在开源中可用..我想这可能对我有帮助。

最佳答案

erlang:fun_info(Fun,arity)。

例如

F = fun(A,B) -> A+B end.
#Fun<erl_eval.12.111823515>
3> erlang:fun_info(F,arity).
{arity,2}

关于erlang - 了解传递函数的参数数量 (erlang),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10048001/

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