实施例
6个二郎:list_to_binary([192])
<< “A” >>
我希望输出为 << 192>>
任何人都可以提供帮助
答案 0 :(得分:1)
这是因为Erlang将字符串表示为整数列表,因此如果要求shell打印整数列表,shell会猜测您是要将其视为数字列表还是字符串。 shell的基础是检查列表是否包含所有可打印字符,因此您可以强制字符串不可打印。在Erlang / OTP R16B及更高版本中,您可以使用函数shell:strings/1在shell中关闭此行为:
Erlang/OTP 19 [erts-8.1] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]
local recon loaded
Eshell V8.1 (abort with ^G)
1> erlang:list_to_binary([192]).
<<"À">>
2> shell:strings(false).
true
3> erlang:list_to_binary([192]).
<<192>>
4>
注意:这是所有节点shell的全局选项,因此对于更长的生命节点,最好在完成后将其设置回原始值。
答案 1 :(得分:0)
将[1,2,3,4]等列表转换为&lt;&lt;&lt; 1,2,3,4&gt;&gt;:
lists:foldl(fun(N, Acc) -> << Acc/binary, N >> end, <<>>, [1,2,3,4]).