最好在代码中解释这一点。给定这个类:
class Simple
def initialize
@a, @b, @c = 0.0, 0.0, 0.0
end
attr_accessor :a, :b, :c
def addOne()
for i in [@a, @b, @c] do
i += 1.0
end
end
end
s = Simple.new
s.addOne()
puts s.a
# outputs 0.0
我怎样才能改变 addOne()
实际做它所说的?(将 1 添加到 for 循环中的所有变量)
我猜想for i in ...
实际上包装了 a i=@a
,它在@a
. 但是我看不出我可以遍历几个实例变量并就地更改它们。请注意,我的真实课程显然更复杂。所以,是的,我确实想遍历变量。