当我做:
IO.inspect [:right, :top, :left, ...very_long_list]
Run Code Online (Sandbox Code Playgroud)
我只得到第一项(这是解决15拼图的动作列表),如下所示:
[:right, :top, :left, :bot, :bot, :left, :top, :top, :right, :right, :bot,
:left, :bot, :left, :top, :right, :bot, :right, :top, :top, :left, :bot,
:left, :top, :right, :right, :bot, :bot, :left, :top, :top, :left, :bot,
:right, :top, :right, :bot, :left, :left, :top, :right, :bot, :right, :top,
:left, :left, :bot, ...] # => See the '...'
instead I would like
to get the complete list
Run Code Online (Sandbox Code Playgroud)
如何判断IO.inspect不修剪清单?有选择还是什么?
Pat*_*ity 58
有关Inspect.Opts可用选项的说明,请参阅:
:limit- 限制为元组,位串,地图,列表和任何其他项目集合打印的项目数.它不适用于字符串或字符串,默认值为50.如果您不想将项目数限制为特定数字,请使用:infinity.
因此,您可以传递limit: :infinity打印所有元素:
IO.inspect(list, limit: :infinity)
Run Code Online (Sandbox Code Playgroud)
对于字符串和字符串,有一个特殊的选项叫做:printable_limit.可以组合这两个选项以确保所有元素都完全打印.
Phi*_*lip 14
对于那些想要这个以上解决方案不适合的字符串的人.
使用printable_limit: integer/:infinity
https://hexdocs.pm/elixir/Inspect.Opts.html