<26>io:format io_lib:format

使用io_lib时候要注意参数,尤其是封装json串的时候,否则可能导致封装错误
看shell中的使用结果就知道,我在使用mochijson2 封装时候刚开始导致前端不能解析
[img]http://dl2.iteye.com/upload/attachment/0091/1568/2395e341-0920-3c77-9497-b16859858693.jpg[/img]
网上看到这样一段解释
io:format(Format, Args) uses io_lib:format(Format, Args) to create the [size=large][/size]
data that is written to stdout, so there should be absolutely no
difference in the result. Apart from that io_lib:format/2 returns a deep
string, and io:format/2 just does a side effect.

io:put_chars(io_lib:format(Format, Args)) would be exactly equivalent to
io:format(Format, Args).

The feature in io_lib:format/2's return value is that the string need
not be flattened if it is supposed to be sent to e.g io:put_chars/1,
file:write/2 or erlang:port_command/2. It is a perfectly valid IO-list
and it is wasting time to flatten it if it is not needed.
[url]http://erlang.org/pipermail/erlang-questions/2003-February/007683.html[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值