场景如下:
Eshell V12.2.1 (abort with ^G)
1> A1=[1,2,3].
[1,2,3]
2> io:format("~p~n", A1).
** exception error: bad argument
in function io:format/2
called as io:format("~p~n",[1,2,3])
*** argument 1: wrong number of arguments
3> A2=[[1,2,3]].
[[1,2,3]]
4> io:format("~p~n", A2).
[1,2,3]
ok
5>
疑问:
难道 io:format 直接打印变量参数的话,需要变量是嵌套列表?求老司机解惑为什么要这样设计(本人 erlang 新手)。
如果直接在调用 io:format 的时候,给参数传递一个列表参数的表达式也就不会报错。
https://stackoverflow.com/questions/2523250/erlang-ioformat-and-a-hanging-web-application 这里我 google 到的一个疑问解答,但还是有些不明白 io:format 调用的时候,传递变量参数和列表表达式的区别。