25.2. Modificando suposiciones por requisitos

Hay veces en las que no tiene mucho sentido la presencia de valores por defecto. ¿Existe una cosa tal como una fruta por defecto? Es preferible que se deba especificar el tipo en el momento de la creación de cada pieza de fruta. Para hacer esto se debe añadir un argumento formal al método initialize. Por razones en las que no vamos a entrar, los argumentos que se entregan a new se pasan a initialize


ruby> class Fruta
ruby|   def initialize(k)
ruby|     @kind = k
ruby|     @condition = "madura"
ruby|   end
ruby| end
nil
ruby> f5 = Fruta.new "pera"
una pera madura
ruby> f6 = Fruta.new
ERR: (eval):1:in `initialize': wrong # of arguments(0 for 1)