У меня есть класс, и я пытаюсь получить доступ к переменной экземпляра, и я заметил, что могу сделать это в обоих направлениях, обратившись к нему с помощью @
и без него. Почему si нет ошибки, когда я называю это без @
puts "name : #{name}"
?Переменные экземпляра экземпляра Ruby от другого метода
class Blabla
attr_accessor :name
def initialize(blabla)
@name = blabla
end
def populate()
puts "name : #{name}"
puts "name : #{@name}"
end
end
1. Это не «переменные экземпляра класса», а просто обычные переменные экземпляра. Терминология важна. 2. из-за 'attr_accessor: name' –
с' attr_reader: name' У меня то же самое, так можно ли каким-то образом избежать этого поведения, но все же быть в состоянии прочитать переменную экземпляра? – Tonja
Да, почему вы снова ставите 'attr_accessor' /' attr_reader'? –