【发布时间】:2016-09-30 08:04:48
【问题描述】:
我目前正在从这样的字符串和二进制文件中形成字符串:
X = string:join(io_lib:format("~s~s~s", ["something1", "something2",<<"something3">>]), "") %X is now something1something2something3
这看起来既痛苦又混乱。因为为了用另一个具有不同数量“~n”的字符串来干掉这个:
Y = string:join(io_lib:format("~s~s", ["something1", <<"something2">>]), "")
我基本上必须编写一个函数来计算参数列表的大小,并形成~n[that many times] 并将其插入其中。
有没有更好的方法来做到这一点?
Eshell V8.0.2 (abort with ^G)
1> F = <<"asdf">>,
1> string:join(io_lib:format("~s~s~s", ["something1", "something2", F]),"").
"something1something2asdf"
2> lists:flatten(["something1", "something2", F]).
[115,111,109,101,116,104,105,110,103,49,115,111,109,101,116,
104,105,110,103,50,<<"asdf">>]
3>
【问题讨论】:
-
你为什么要格式化字符串而不是将它们连接在一起?
-
@JustinNiessner 抱歉,我遗漏了一个关键细节,我的错。这就是我尝试制作 MWE 的结果。
-
我已经用另一种可能的解决方案更新了我的答案。