如果字符串包含~,我似乎无法打印出来。
> A = "/.git".
> io:fwrite(A).
/.gitok
> B = "~/.git".
> io:fwrite(B).
** exception error: bad argument
in function io:format/3
called as io:format(<0.50.0>,"~/.git",[])如何打印带有倾斜度的字符串以达到标准输出?
发布于 2017-05-22 10:26:57
不需要格式化时,不要使用io:fwrite/1,2,3和io:format/1,2,3。这些函数用于C中需要printf()或fprintf()的地方,如果只想输出已经准备好的iodata,请使用io:put_chars/1,2。
发布于 2017-05-20 03:55:01
如果字符串包含
~,我似乎无法打印出来。
若要格式化输出,请构造包含以~开头的格式序列的字符串。Erlang认为您的字符串包含一个格式序列。如果您希望Erlang输出一个文字~,可以用另一个~转义它。
22> io:format("~~/.git~n").
~/.git
ok发布于 2017-05-19 23:07:28
您可以使用控制序列~p打印带有倾斜的字符串以使其标准化。
~ → erl
Erlang/OTP 19 [erts-8.3] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]
Eshell V8.3 (abort with ^G)
1> B = "~/.git".
"~/.git"
2> io:fwrite("~p",[B]).
"~/.git"ok
3> io:fwrite("~p~n",[B]).
"~/.git"
ok
4>https://stackoverflow.com/questions/44079743
复制相似问题