なかだです。

At Sat, 18 Jan 2003 11:12:55 +0900,
K.Kosako <kosako / sofnec.co.jp> wrote:
> (Module#constantsに、継承を含めないようなバリエーションがあると
> 便利かもしれません)

Module#instance_methodsは、デフォルトでは継承したものは含めない
ようになってますが、それに合わせた場合どの程度問題が出るでしょ
う。

> class Module
>   def include_const(m)
>     if m.is_a? Module
>       #clist = m.constants
>       clist = m.constants.select { |c| eval("defined?(m::#{c})") }
        clist = m.constants.select {|c| m.const_defined?(c)}
>       clist.each { |cs| const_set(cs, m.const_get(cs)) }
>     end
>   end
> end

あるいは
        clist = m.constants.select(&m.method(:const_defined?))

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦