如何将列表转换为Erlang中的函数参数?

aka*_*nuk 3 erlang function list

假设我有一定的功能.我想用相应的数字列表来提供它.

显然,如果我有F/2函数并列出L = [1,2],我可以这样做:

F(hd(L), hd(tl(L))).
Run Code Online (Sandbox Code Playgroud)

但是我怎么能把它变成一般呢?我认为,应该有一些从列表到参数的简单转换,但我还不知道.

Die*_*lla 10

看看这个apply/2功能.它做你想要的.

> apply( fun (X,Y) -> X+Y end, [1,2]).
3
Run Code Online (Sandbox Code Playgroud)

还有一个apply/3包含该功能的模块:

> apply( io, format , [ "~p, ~p", [1,2]]).        
1, 2
Run Code Online (Sandbox Code Playgroud)