From: matz@... (Yukihiro Matsumoto) Date: 2002-03-15T15:43:25+09:00 Subject: [ruby-dev:16409] Re: defined? autoload constant まつもと ゆきひろです In message "[ruby-dev:16407] Re: defined? autoload constant" on 02/03/15, nobu.nakada@nifty.ne.jp writes: |> どうするのがよいですかね。気持ちは分かるんで、提案は受け付け |> ますけど。 | |クラス定義の中ではdefined?(method)はインスタンスメソッドについ |て判定する、クラスメソッドにはdefined?(self.method)とレシーバを |明示する、というのでは。互換性に問題があるかも知れませんが。 たぶんよくないと思います。defined?(expr)は「exprが定義されて いるかどうかを判定する」という意味ですから、class定義の中で その意味をねじ曲げるのは大局的に見るとデメリットのほうが大き そうです。 むしろ、instance_method_defined?(:foo) のようなメソッドの方 がましと思います。あまりよい名前じゃありませんが。