24.1. El método inspect

En estos momentos es adecuada una pequeña disgresión. Ya se habrá notado que cuando deseamos ver directamente un objeto se nos muestra algo críptico como lo siguiente #<Fruta:0x401c30c4>. Este es un comportamiento por defecto que se puede modificar. Todo los que se necesita es definir un método denominado inspect. Éste puede devolver una cadena que describa el objeto de una forma razonable, incluyendo el estado de alguna o todas las variables instancia.


ruby> class Fruta
ruby|   def inspect
ruby|     "una fruta de la variedad " + @kind
ruby|   end
ruby| end
nil
ruby> f2
una fruta de la variedad banana

Un método relacionado es to_s (convertir a cadena) que se utiliza al imprimir un objeto. En general se puede pensar que inspect es una herramienta para cuando se escriben y depuran programas, y to_s una forma de refinar la salida de un programa. eval.rb utiliza inspect cuando muestra resultados. Se puede utilizar el método p para obtener con sencillez resultados para la depuración de programas.


# las dos líneas siguientes son equivalentes
p anObject
print anObject.inspect, "\n"