【发布时间】:2012-01-10 20:35:58
【问题描述】:
来自 c++ 背景,我对 Ruby 中的对象分配很好奇。以下对象分配应考虑哪些因素(如果有):
class MyClass
attr_accessor :a, :b
def initialize(a, b)
@a = a
@b = b
end
def some_method
puts "#{self.a} #{self.b}"
end
end
m = MyClass.new("first", "last")
n = MyClass.new("pizza", "hello")
q = n
q.some_method
【问题讨论】:
-
什么意思,抄袭?
q指向同一个对象n确实如此。没有抄袭。如果您更改n.a,q.a将看到相同的值。 -
好点,我说错了。问题已更新
-
attr_accessor定义实例变量/方法,m和n各自看到自己的值。q指向n,将充当n。
标签: ruby object instance-variables copy-assignment