我不确定将对象传递给模块方法时会发生什么。对象是通过引用还是通过副本传递的?就像在这个例子中一样:
module SampleModule
def self.testing(o)
o.test
end
end
class SampleClass
def initialize(a)
@a = a
end
def test
@a = @a + 1
end
end
sample_object = SampleClass.new(2)
3.times do
SampleModule.testing(sample_object)
end
p sample_object # => #<SampleClass:somehexvalue @a=5>
似乎是通过参考。这个真的不清楚。