В Ruby attr_writer— это метод, который автоматически создает метод установки для переменной экземпляра класса. Он обеспечивает удобный способ определения метода записи без необходимости писать метод вручную.
Метод attr_writerпринимает в качестве аргументов один или несколько символов, представляющих имена переменных экземпляра, для которых должны быть созданы методы записи. Когда вы используете attr_writer, Ruby автоматически создает метод установки для каждого данного символа, позволяя вам присваивать значения соответствующим переменным экземпляра.
Вот пример, иллюстрирующий использование attr_writer:
class Person
attr_writer :name, :age
end
person = Person.new
person.name = "John" # Calls the `name=` setter method
person.age = 30 # Calls the `age=` setter method
В приведенном выше примере метод attr_writerиспользуется для создания методов записи для переменных экземпляра nameи ageКласс Person. Эти методы затем можно использовать для присвоения значений соответствующим переменным экземпляра.
Метод attr_writer— это удобный способ предоставить доступ к переменным экземпляра только для записи, поскольку он автоматически генерирует необходимые методы установки. Однако важно отметить, что он не создает соответствующие методы получения. Если вам также необходимо прочитать значения переменных экземпляра, вместо этого вы можете использовать метод attr_accessor.