+54 911 66509220

Blog

Blog
20 Mar 2015

Tutorial de Ruby – Parte 32 – Preparando todo para la inicialización

/
Creado por
/
Comentarios0

Si nadie se come nuestra fruta madura, quizás es momento de que pague su precio.

 

ruby> class Fruta

ruby| def time_passes

ruby| @condition = “podrida”

ruby| end

ruby| end

nil

ruby> f2

una banana madura

ruby> f2.time_passes

“podrida”

ruby> f2

una banana podrida

 

Pero mientras estábamos jugando con esto se ha introducido un pequeño problema. ¿Qué ocurre si intentamos crear una tercera pieza de fruta en estos momentos? Recuérdese que las variables instancia no existen hasta que no se les asigne valor.

 

ruby> f3 = Fruta.new

ERR: failed to convert nil into String

 

El que se queja es el método inspect y con motivos. Se le ha indicado que informe sobre el tipo y la condición de una pieza de fruta, pero f3 no tiene asignado ninguno de sus atributos. Si se quiere, es posible redefinir este método para que compruebe que las variables instancia están definidas (utilizando el método defined?) e informar de ellos sólo si es así aunque esto puede que no sea de mucha utilidad dado que toda pieza de fruta es de un tipo y está en una determinada condición, parece que se debiera asegurar que los atributos se definen de alguna forma. Este es el tema del siguiente capítulo.

 

Leave a Reply

Your email address will not be published.

* Copy This Password *

* Type Or Paste Password Here *

22,744 Spam Comments Blocked so far by Spam Free Wordpress

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.