From: matz@... (Yukihiro Matsumoto) Date: 1998-05-08T10:38:24+09:00 Subject: [ruby-dev:2581] Re: how to check if ruby method is defined まつもと ゆきひろです In message "[ruby-dev:2577] how to check if ruby method is defined" on 98/05/08, Kikutani Makoto writes: |きくたにです。 |質問する一瞬だけ -dev に入るというひどい奴です。 |ここまではいいのですが、ext_method はいろんなところから呼ばれる |可能性があり、そこでは method_a は未定義かもしれません。 |そこで、rb_funcall2 の前にmethod_aの存在をチェックしたいのですが、 |どうすればいいでしょうか? 結局あるオブジェクトにある名前のメソッドが定義してあるかどう かを知りたいということですよね.それには int rb_respond_to(VALUE obj, ID id) を使います.具体的には if (rb_respond_to(self, rb_intern("method_a"))) { rb_funcall2(self, rb_intern("method_a"), 1, argv); } というような感じでしょうか. まつもと ゆきひろ /:|)