Dado que muchas variables instancia necesitan métodos accesores, Ruby proporciona abreviaturas para las formas convencionales.
Tabla 24-1. Accesores
Abreviatura | Efecto |
attr_reader :v | def v; @v; end |
attr_writer :v | def v=(value); @v=value; end |
attr_accesor :v | attr_reader :v; attr_writer :v |
attr_accesor :v, :w | attr_accesor :v; attr_accessor :w |
Tomemos ventaja de esto y añadamos información fresca. Primero pediremos la generación de un escritor y un lector y luego incorporaremos la nueva información en inspect.
ruby> class Fruta
ruby| attr_accessor :condition
ruby| def inspect
ruby| «una » + @kind + » » + @condition
ruby| end
ruby| end
nil
ruby> f2.condition = «madura»
«madura»
ruby> f2
una banana madura