在erlang中,我想格式化一个包含整数的字符串,并且我希望结果被展平。但我明白了:
io_lib:format("sdfsdf ~B", [12312]).
[115,100,102,115,100,102,32,"12312"]
我可以使用下面的代码获得所需的结果,但它确实不优雅。
lists:flatten(io_lib:format("sdfsdf ~B", [12312])).
"sdfsdf 12312"
是否有更好的格式化字符串,其中包含整数,以便它们是扁平的?理想情况下,只使用一种功能?
您可以使用以下方法展平列表lists:flatten/1
正如您在示例中所做的那样。
如果您可以接受二进制文件,list_to_binary/1
是相当有效的:
1> list_to_binary(io_lib:format("sdfsdf ~B", [12312])).
<<"sdfsdf 12312">>
然而,首先要问一下为什么你需要一个简单的列表。如果只是化妆品的话就不需要了。io:format/1,2,3
和大多数其他端口功能(gen_tcp
等)接受所谓的深度 IO 列表(带有字符和二进制的嵌套列表):
2> io:format([115,100,102,115,100,102,32,"12312"]).
sdfsdf 12312ok
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)