本を読む

読書やコンピュータなどに関するメモ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Rubyのトップレベルで関数形式メソッドが定義されているか調べる

 多くの人は興味ないし、興味ある人は知ってそうな話。メモとして。

 Rubyのトップレベルで定義されている関数形式メソッドは、Objectのprivateメソッドになっている。そのため、定義されているかどうか、何かのオブジェクト、例えばObjectオブジェクトへのrespond_to?の第2引数にtrueを渡して確認できる。

$ irb
ruby-1.9.2-p290 :001 > def hoge; end
 => nil
ruby-1.9.2-p290 :002 > Object.respond_to?(:hoge, true)
 => true

 同じことをCでやるには、rb_obj_respond_to()の第3引数を真にする。

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://emasaka.blog65.fc2.com/tb.php/948-cbbce2d5

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

フリーター。
連絡先はこのへん

Monthly


FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。