Erlang打印2列表

0xA*_*xAX 4 erlang functional-programming list

我有2个清单:

 List1 = [1,2,3].
 List2 = ["asd", "sda", "dsa"].
Run Code Online (Sandbox Code Playgroud)

如何在下面的回合中打印此列表:

1 asd 2 sda 3 dsa

谢谢.

key*_*one 6

有时候重新发明轮子会更好.在erlang的情况下 - 只是为了理解递归,尾调用以及如何使用列表.

f([], []) -> 
    ok;
f([H1|R1], [H2|R2]) -> 
    io:format("~p ~p", [H1, H2]), 
    f(R1, R2).
Run Code Online (Sandbox Code Playgroud)

  • @Yasir Arsanukaev:这取决于背景和预期的功能严格性.更严格的版本有时会遇到一些错误.还有更多仁慈的版本`f([H1 | R1],[H2 | R2]) - > io:格式("~p~p",[H1,H2]),f(R1,R2); f(_,_) - >好的 (2认同)

Yas*_*aev 5

1> lists:zipwith(fun (X1, X2) -> io:format("~p ~p ", [X1,X2]) end, List1, List2).
1 "asd" 2 "sda" 3 "dsa" [ok,ok,ok]
2> 
Run Code Online (Sandbox Code Playgroud)