Средство доступа атрибута в 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