Я просто учился программировать и решил попробовать Ruby. Я уверен, что это глупый вопрос, но инструктор говорит о методах сеттера и геттера, и я в замешательстве. Вот пример:
class Human
def noise=(noise)
@noise = noise
end
def noise
@noise
end
end
Из этого создается экземпляр класса, и я могу это сделать:
man = Human.new
man.noise=("Howdie!")
puts man.noise
В результате получается Howdie!
Теперь меня смущает то, что инструктор говорит без метода геттера (второй из двух методов), нет возможности взаимодействовать с переменной экземпляра @noise.
Но когда я удаляю метод getter, я могу получить доступ к @noise, см. пример:
class Human
def noise=(noise)
@noise = noise
end
end
man = Human.new
puts man.noise=("Howdie!")
Это работает так же, как при использовании метода геттера.
Итак, теперь я смущен. Почему нужен геттер? Что означает инструктор, не имея возможности получить доступ к переменной экземпляра без нее? Возможно ли, что он использует более старую версию Ruby?
Заранее благодарим за помощь.