Quand je fais:
IO.inspect [:right, :top, :left, ...very_long_list]
Je ne reçois que les premiers éléments (c'est une liste de mouvements pour résoudre un puzzle de 15) comme celui-ci:
[: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
Comment puis-je dire IO.inspect
pour ne pas rogner la liste? Y a-t-il une option ou quelque chose?
Voir Inspect.Opts
pour une description des options disponibles:
:limit
- limite le nombre d'éléments imprimés pour les tuples, les chaînes de bits, les cartes, les listes et toute autre collection d'éléments. Il ne s'applique pas aux chaînes ni aux listes de caractères et par défaut à 50. Si vous ne souhaitez pas limiter le nombre d'éléments à un nombre particulier, utilisez:infinity
.
Ainsi, vous pouvez passer limit: :infinity
pour imprimer tous les éléments:
IO.inspect(list, limit: :infinity)
Pour les chaînes et les listes de caractères, il existe une option spéciale appelée :printable_limit
. Ces deux options peuvent être combinées pour garantir que tous les éléments sont entièrement imprimés.
Pour ceux qui le veulent pour des cordes auxquelles la solution ci-dessus n'est pas destinée.
Utilisation printable_limit: integer/:infinity
https://hexdocs.pm/elixir/Inspect.Opts.html