来自C++背景我很好奇Ruby中的对象分配。应当对以下对象分配进行考虑哪些因素(如果有的话):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'将会看到相同的值。 –
好点,我认为我说错了。问题已经更新 – SundayMonday
'attr_accessor'定义了实例变量/方法,'m'和'n'各自都看到它们自己的值。 'q'指向'n',并将作为'n'。 –