2010-02-17 5 views
1

내가 가진이루비 별명 방법 체인

class Foo 
    attr_accessor :name 
end 

f = Foo.new 
f.name = "bar" 

하고 다른 개체

f.baz.name == f.name 

와 인터페이스 있도록 내가 이름 속성을 다음과 같은 방법 체인에 응답을하고 싶습니다 같은 클래스 이것을 돌려주는 쉬운 방법이 있습니까?

+0

프로그램에서 두 번 이상 수행해야합니까? 그리고'foo.baz.qux.name == foo.name'와 같은 더 많은 수준의 간접 지정이 필요합니까? –

+0

궁금 해서요, 왜 그런 식으로하고 싶습니까? – severin

답변

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"] 
+0

감사합니다 웨인! 나는 그걸 생각하지 않으면 꽤 바보 같다고 느낍니다. – calstad