Если честно, я все еще путал переменную экземпляра и локальную переменную, не уверенный, какую именно следует использовать.
я знаю только одно условие о локальной переменной, которое нельзя использовать:
class MyClass
def initialize
local_var = 1
@instance_var = 1
end
def show_local_var
local_var
end
def show_instance_var
@instance_var
end
end
очевидно, MyClass.new.show_instance_var
работает, а MyClass.new_show_local_var
не
другая особенность двух типов переменных заключается в том, что блок, кажется, имеет одну и ту же локальную область видимости, поэтому на локальную переменную можно ссылаться:
local_var = 1
3.times do
puts local_var
end
Есть все, что я знаю о различиях, есть ли другие доступные? пожалуйста, дайте мне знать
если есть какие-то статьи по этому поводу, это было бы так полезно для меня,