From: rubikitch@... Date: 2007-04-04T18:24:44+09:00 Subject: [ruby-list:43364] Re: 特定のmoduleに属しているかの判別 From: "西塔伸一郎" Subject: [ruby-list:43363] 特定のmoduleに属しているかの判別 Date: Wed, 4 Apr 2007 18:14:07 +0900 るびきちです。 > Foo::Barクラスのインスタンスなりクラスなりから、 > 「自分(Foo:Bar)はFoo配下のクラスである」と判別したいのです module Foo class Bar class Baz $o = new end end $o # => # $o.class # => Foo::Bar::Baz end $o # => # $o.class # => Foo::Bar::Baz $o.class.to_s[ /^(.+)::/, 1] # => "Foo::Bar" $o.class.to_s.split(/::/)[0..-2].inject(Object){|s,x| s.const_get(x)} # => Foo::Bar injectとconst_getの連携は慣用句でしょう。 -- rubikitch http://www.rubyist.net/~rubikitch/