From: nobu.nakada@... Date: 2002-03-15T15:58:20+09:00 Subject: [ruby-dev:16410] Re: defined? autoload constant なかだです。 At Fri, 15 Mar 2002 15:43:25 +0900, Yukihiro Matsumoto wrote: > |> どうするのがよいですかね。気持ちは分かるんで、提案は受け付け > |> ますけど。 > | > |クラス定義の中ではdefined?(method)はインスタンスメソッドについ > |て判定する、クラスメソッドにはdefined?(self.method)とレシーバを > |明示する、というのでは。互換性に問題があるかも知れませんが。 > > たぶんよくないと思います。defined?(expr)は「exprが定義されて > いるかどうかを判定する」という意味ですから、class定義の中で > その意味をねじ曲げるのは大局的に見るとデメリットのほうが大き > そうです。 インスタンスメソッド定義はdef foo、クラスメソッド定義はdef self.fooというのと同じということにするとか考えたのですが、でも やっぱり単にfooとしたときにはクラスメソッドが呼ばれるので、まず いですね。 > むしろ、instance_method_defined?(:foo) のようなメソッドの方 > がましと思います。あまりよい名前じゃありませんが。 それは今のModule#method_defined?では。 あとは、defined? allocate.fooとか。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦