Описание тега attr-accessor
Аксессор атрибутов в Ruby - это способ объявления доступности атрибутов (чтение и запись) с помощью средств метапрограммирования Ruby.
Применение
Для любого класса Ruby можно использовать attr_accessor
метод так:
class Car
attr_accessor :speed
end
Это позволяет нам читать и писать speed
переменная экземпляра любого экземпляра Car
:
my_car = Car.new
my.car.speed = 100
my.car.speed # => 100
В attr_accessor
Метод реализует эту функциональность, создавая новые методы для класса, в котором он был вызван.
Внутренности
Следовательно, используя attr_accessor
фактически эквивалентно следующему:
class Car
attr_reader :speed
attr_writer :speed
end
что, в свою очередь, совпадает с
class Car
def speed
@speed
end
def speed=(v)
@speed = v
end
end