模型方法看不到来自其他模型方法的变量



我有这样的代码:

def method1
  pr_body = String.new
  @xml.weryfikacja(ktora)
  @list.each_slice(2) do |bod|
  # rest of the code   
end

def method2
    @list= Array.new
    @list.push(1)
end

现在,错误是,在method1,执行method2后,我仍然无法使用@list。如果我不想收到错误,我需要从 method2 返回该数组。

OP 中显示的代码没有任何问题。 在此类的同一实例上method2调用,method1将有权访问@list实例变量。代码可能存在其他问题,例如 @xml 未在任何地方定义,并且失败/引发异常。

证明:

▶ class A
▷   def a1 ; puts @a ; end
▷   def a2 ; @a = 42 ; end
▷ end
▶ a = A.new
#⇒ #<A:0x000000026d2908>
▶ a.a2
#⇒ 42
▶ a.a1
#⇒ 42

最新更新