[#43369] dRuby に CGI を渡す→script_uri が上手く取得出来ない — 石井 大海 <banzaida@...>

こんばんは、konnです。

10 messages 2007/04/05

[ruby-list:43364] Re: 特定のmoduleに属しているかの判別

From: rubikitch@...
Date: 2007-04-04 09:24:44 UTC
List: ruby-list #43364
From: "西塔伸一郎" <sinsaihy@gmail.com>
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                            # => #<Foo::Bar::Baz:0xb7e273b0>
  $o.class                      # => Foo::Bar::Baz
end

$o                              # => #<Foo::Bar::Baz:0xb7e273b0>
$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/

In This Thread