elixir inspect

Elixir, IO. Inspecciona no recortar una lista larga



inspect (2)

Cuando lo hago:

IO.inspect [:right, :top, :left, ...very_long_list]

Solo obtengo los primeros elementos (es una lista de movimientos para resolver un rompecabezas de 15) como este:

[: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

¿Cómo puedo decirle a IO.inspect que no recorte la lista? ¿Hay una opción o algo?


Consulte Inspect.Opts para obtener una descripción de las opciones disponibles:

  • :limit : limita la cantidad de elementos que se imprimen para tuplas, cadenas de bits, mapas, listas y cualquier otra colección de elementos. No se aplica a cadenas ni a listas y el valor predeterminado es 50. Si no desea limitar la cantidad de elementos a un número en particular, use :infinity .

De esta forma puedes pasar limit: :infinity para imprimir todos los elementos:

IO.inspect(list, limit: :infinity)

Para cadenas y charlists hay una opción especial llamada :printable_limit . Ambas opciones se pueden combinar para garantizar que todos los elementos estén completamente impresos.


Para aquellos que quieren esto para cuerdas que la solución anterior no es para.

Use printable_limit: integer/:infinity Inspect.Opts