【发布时间】:2013-11-21 10:40:42
【问题描述】:
我不确定将对象传递给模块方法时会发生什么。对象是通过引用还是通过副本传递的?就像在这个例子中一样:
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>
似乎是通过引用。这个真的不清楚。
【问题讨论】:
标签: ruby