[#40081] Module.constantsとModule.const_get — HASHIMUKAI Toshikatsu <hashi@...>
はしむかい、というものです。
4 messages
2004/10/12
[#40085] require 中に例外が発生したときの対処について — SASADA Koichi <ko1@...>
ささだです。
5 messages
2004/10/13
[#40088] Current optparse and iconv? — Takahiro Kambe <taca@...>
こんばんは。
8 messages
2004/10/13
[#40089] Re: Current optparse and iconv?
— nobu@...
2004/10/13
なかだです。
[#40094] 数式処理の型 — Dai Watanabe <dai@...>
わたなべ@ひたち ともうします。
6 messages
2004/10/14
[#40112] win32oleからのマクロの呼び出し — Kazuhiro Oinuma <core379@...>
生沼と申します。
7 messages
2004/10/18
[#40130] Ruby/Tk の講習会 — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
12 messages
2004/10/25
[#40149] Re: Ruby/Tk の講習会 (開催します)
— Hidetoshi NAGAI <nagai@...>
2004/11/01
永井@知能.九工大です.
[#40131] 新潟の大地震 — Wakou Aoyama <wakou@...>
(とっても)お久しぶりです。青山です。
6 messages
2004/10/25
[ruby-list:40081] Module.constantsとModule.const_get
From:
HASHIMUKAI Toshikatsu <hashi@...>
Date:
2004-10-12 23:58:53 UTC
List:
ruby-list #40081
はしむかい、というものです。 実行中の環境から、あるクラスやそれから派生されたクラスを探し出す、ということを やろうと思い、下のような感じでスクリプトを書いてみました。 ---- Module.constants.each do |mod| cls = Module.const_get(mod) if (cls.class == Class) && (cls < 探したいクラスのクラス名) # 目的のクラス発見 cls.ほにゃらら end end ---- 簡単なサンプルを書いて動かす分には問題はないのですが、これをいざ組み込んで使って みると、Module.const_get()のところで "uninitialized constant:" というエラーが出る 場合があります。 自分の中では「constantsの中のシンボルは、当然どこかで定義されているワケだから それを使ってconst_get()できるよねえ」などと単純に考えているのですが、どうして そうなるのか理解が難しい状態です(クラス/モジュールのネストとかincludeとかが関係してるの かな、と考えてはいるのですが)。 どなたか「こういう状況下でこうなる」など理由を説明していただければ ありがたいです。