From: Shin-ichiro HARA Date: 2002-10-30T16:47:10+09:00 Subject: [ruby-dev:18612] Re: private_method_defined? 原です。 >まつもと ゆきひろです >ちょっと試しに実装してみましたが、考えてみると仕様が明確でな >いような気がして来ました。 もう実装しはじめているのですね。仕事が早いなあ。 >現在のmethod_defined?の仕様は > > 正常に呼べる可能性のあるメソッドは真 > >ですから、publicとprotectedで真になります。protectedでエラー >になるかどうかを決めるには情報が足りませんから決定できません。 > >となると、private_method_defined?やprotected_method_defined? >を定義するためにはmethod_defined?はどうあるべきでしょう? > > (1) 現状のまま。さらにpublic_method_defined?も追加 > (2) publicなメソッドだけ真を返す > (3) その他 *_instance_methods との絡みもありますよね。一応、method_defined? は互換性のために残して、より厳密な public_method_defined? を導入 という所でどうでしょう。(更に第2引数もつけて、上位も見るかどう かのスイッチにしては? public_method_defined? :foo, true とか。) うーむ。instance_methods も method_defined? に合わせたくなるな。