¿Hay alguna manera de hacer que la salida de inspección sea más legible?Ruby ¿Inspección legibilidad?
En Perl, hay Data::Dumper
que hace que la salida sea más fácil de leer.
¿Hay alguna manera de hacer que la salida de inspección sea más legible?Ruby ¿Inspección legibilidad?
En Perl, hay Data::Dumper
que hace que la salida sea más fácil de leer.
El rubí biblioteca estándar contiene PP (abreviatura de "Pretty Print"), que da formato a estructuras mucho mejor que el estándar inspeccionar:
http://www.ruby-doc.org/stdlib/libdoc/pp/rdoc/index.html
Es necesario require 'pp'
en la parte superior de su archivo fuente antes de poder usarlo, y luego simplemente reemplace p obj
con pp obj
en su código.
¡Lo encuentro realmente útil para hashes y matrices en particular!
Además de la solución 'pp', yaml puede ser una solución.
Probar:
require 'yaml'
puts [1,2,3=>'three'].to_yaml
Se obtiene:
---
- 1
- 2
- 3: three
y un enfoque completamente diferente: Escriba su propia inspección de código si usted tiene un problema inspeccionar con una clase específica
Ejemplo:
class MyTest
def initialize()
@created = Time.now
end
def inspect()
"Hi, I'm the objected created at #{@created}. That's #{Time.now - @created} seconds ago"
end
end
x = MyTest.new
sleep 5
puts x.inspect
Se obtiene
Hi, I'm the objected created at 2011-06-28 12:48:38 +0100. That's 5.0 seconds ago
Me gusta esta solución mejor. Ni siquiera tengo que requerir 'yaml' cuando uso la consola de rieles. Gracias por publicar –
Esto va a funcionar y verse bien :)
en su Gemfile:
group :development do
gem 'table_print', '~> 1.5.3'
end
en su opinión:
<pre>
<%= TablePrint::Printer.new(@users, []).table_print %>
</pre>
como @tjbp dijo, simplemente use pretty_inspect() en lugar de inspeccionar()
le dará bonitos saltos de línea y sangría
PP también agregará pretty_inspect() al Módulo Kernel, por lo que simplemente puede reemplazar las llamadas a inspeccionar() con eso. – tjbp