Tutorial de Ruby – Parte 36 – Inicialización flexible

Hemos visto que una vez que se asocia un argumento al método initialize no se puede omitir sin que se genere un error. Si queremos ser más considerados podemos utilizar el argumento si se proporciona, y en caso contrario, recurrir al valor por defecto.

 

ruby> class Fruta

ruby| def initialize(k=»manzana»)

ruby| @kind = k

ruby| @condition = «madura»

ruby| end

ruby| end

nil

ruby> f5 = Fruta.new «pera»

una pera madura

ruby> f6 = Fruta.new

una manzana madura

 

Se pueden utilizar los valores por defecto de un argumento en cualquier método no sólo en initialize. Los argumentos hay que organizarlos de tal forma que aquellos con valores por defecto aparezcan al final de la lista.

 

A veces es útil tener varias formas de inicializar un objeto. Aunque está fuera del ámbito de este tutorial, Ruby permite reflexión sobre los objetos y listas de argumentos de tamaño variable. Ambas técnicas combinadas permiten realizar sobrecarga de métodos.

Gus Terrera

Apasionado por el agile testing y la ia.

Deja una respuesta