繁体   English   中英

IO.puts与IO.inspect

[英]IO.puts vs IO.inspect

在我看来, IO.putsIO.inspect都用于打印到控制台。 他们之间有什么区别?

添加到上一个答案, IO.inspect可以打印任意elixir术语,带有包含label:的可选关键字列表label:以及用于初始化Inspect.Opts结构的值:

@spec inspect(item, Keyword.t) :: item when item: var

IO.puts要求参数为字符串或实现String.Chars协议的结构:

@spec puts(device, chardata | String.Chars.t) :: :ok

阅读Elixir文档,看起来IO.puts/2只是编写并追加换行符。

IO.inspect/2将执行相同的操作,但它也会返回第一个未更改的值(因此它是可链接的),启用漂亮的打印/装饰和其他格式选项。

友情提醒一下,hexdocs真的很棒。 我能够轻松找到问题的答案并自己学习差异。 我强烈建议您阅读通常用于发现您可能不了解的其他功能的模块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM