我有一个这样的课程
class Foo
attr_accessor :name
end
f = Foo.new
f.name = "bar"
我想用name属性响应以下方法链,以便它与另一个对象接口
f.baz.name == f.name
有一种简单的方法可以退货吗?
答案 0 :(得分:3)
#!/usr/bin/ruby1.8
class Foo
attr_accessor :name
def baz
self
end
end
foo = Foo.new
foo.name = 'Fred'
p [foo.name, foo.baz.name] # => ["Fred", "Fred"]
foo.baz.name = 'Barney'
p [foo.name, foo.baz.name] # => ["Barney", "Barney"]