У меня есть код:
class Blah
@hello = ["a", "b", "c"]
puts @hello[0]
def something()
puts "abc"
#puts @hello[0]
end
end
z = Blah.new()
z.something()
puts @hello[0]
В результате получается:
a
abc
Если я раскомментирую
#puts @hello[0]
и попробуйте вывести первый результат из массива @hello
, который равен a
, я получаю эту ошибку:
array_2.rb:13:in `something': undefined method `[]' for nil:NilClass (NoMethodError)
Почему я не могу получить результат:
a
abc
a
Почему мой код не работает? Массив, такой как @example
, должен быть доступен не только в классе, но и в методе something
. Почему я не могу получить доступ к @hello[0]
внутри методов? Почему @hello[0]
доступен только в классе, а не в методе? Нужен кто-то, чтобы исправить мой код, чтобы я мог получить доступ к @array
в методе.