添加到上一个答案,IO.inspect可以打印一个任意的elixir术语,带有一个可选的关键字列表,其中包含一个label:和初始化Inspect.Opts结构的值:
@spec inspect(item, Keyword.t) :: item when item: var
Run Code Online (Sandbox Code Playgroud)
IO.puts要求参数是字符串或实现String.Chars协议的结构:
@spec puts(device, chardata | String.Chars.t) :: :ok
Run Code Online (Sandbox Code Playgroud)
通过阅读Elixir文档,看起来就像IO.puts/2只是要编写并添加换行符。
IO.inspect/2 将执行相同的操作,但它还会返回不变的第一个值(因此它是可链接的),启用漂亮的打印/装饰和其他格式设置选项。
友情提醒,hexdocs确实很棒。我能够轻松找到您问题的答案,并自己了解差异。我强烈建议您通读通常使用的模块,以发现可能无法从中受益的其他功能。