Переменные экземпляра являются частными. Для доступа к ним нужны аксессоры и мутаторы. A/пара общая сбруя мутатор выглядит следующим образом:
def foo
@foo
end
def foo=(value)
@foo=value
end
Это создает абстракции, которые теперь можно использовать как:
Classname.new.foo
Classname.new.foo="OOP"
Поскольку это такая общая потребность, а также reults в много шаблонного (читай : ненужный), ruby предоставляет динамический метод, который буквально определяет эти два метода для вас.
attr_accessor :foo
Если вы хотите только один из аксессора или методы мутаторной, а затем использовать соответствующий из следующих действий:
attr_reader :foo
attr_writer :foo
Это позволит сэкономить много копирования/вставки. Надеюсь, я поняла.
Я думаю, вы можете быть пропущен 'end' в вашем коде. –