我想通过创建方法来更改变量。一个例子是:
a = 0
def increase1
a += 1
puts a
end
increase1
运行此代码时,出现undefined method `+' for nil:NilClass (NoMethodError)
错误。我猜变量a
无法读取increase1
方法,并且a
变成nil
。有什么办法可以解决这个问题?
答案 0 :(得分:0)
否,无法在其他范围内更改局部变量。这就是为什么局部变量称为“局部”变量的原因:因为它们在定义它们的作用域内是局部的。您的两个a
是两个完全不同的作用域中的两个完全不同的局部变量,它们彼此无关
答案 1 :(得分:0)
实际上,a
中没有定义increase
。
尝试一下:
a = 0
def increase1(a)
a +=1
puts a
end
increase1(a)
我希望它对您有用。 :)