Наш чатик

Телеграм чат начинающих программистов. Общаемся и помогаем друг другу

Если ссылка не открывается, можно найти нас в поиске по чатам @rubyrush или пойти другим путем

Магазин с сеттерами и update

Продолжаем развивать наш «Магазин»: допишите важные методы для изменения экземпляров классов Book и Film.

Сделайте так, чтобы у любого продукта можно было поменять внутреннюю переменную экземпляра, например, вот так:

product = Film.new(title: 'Леон', director: 'Люк Бессон', price: 990)

product.year = 1994
product.amount = 5

или так:

product.update(year: 1994, amount: 5)

Сеттер для экземпляра класса можно сделать несколькими способами, например, так:

def name=(name)
  @name = name
end

Для этой же записи можно использовать attr_writer или attr_accessor:

class Person
  attr_writer :name
end

Тогда в программе можно будет написать:

person = Person.new
person.name = 'Василий'

Обратите внимание, что если puts передать объект в качестве параметра, то он сам вызовет у него метод to_s.