我有一些代码,我将4个值与管道(“|”)连接起来。目前它以下列方式实施:
lists:flatten(io_lib:format("~s~s~s~s~s",[Id, Delim, Date, Delim, Signature])).
但是,我想知道改变使用string:join是否有任何好处(除了它看起来更干净)?
答案 0 :(得分:4)
虽然string:join([Id,Date,Signature],"|").
和lists:flatten(io_lib:format("~s~s~s~s~s",[Id, Delim, Date, Delim, Signature])).
给出相同的结果,但string:join
是首选,因为它具有更好的可读性:
可读性至关重要,因为在项目期间,代码通常会多次读取
答案 1 :(得分:2)
它会稍微快一些,但更重要的是更容易阅读,而且我总是声称“清晰度为王”。
答案 2 :(得分:1)
只需使用
[Id, $|, Delim,
$|, Date,
$|, Delim,
$|, Signature]
可能有效,因为它已经是iolist()
。所以你不必通过任何东西发送它。数据 已经是您寻求的串联。为了这样做而操纵数据并将其展平通常是一个错误,它最多会浪费时钟周期并占用更多的内存资源。