エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
method_missing を再定義したときは、respond_to? も再定義する - わからん
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
method_missing を再定義したときは、respond_to? も再定義する - わからん
method_missing を再定義したときは、respond_to? も再定義した方が良いのか検討すべきです。書籍「メタ... method_missing を再定義したときは、respond_to? も再定義した方が良いのか検討すべきです。書籍「メタプログラミングRuby」でも指摘されています*1。 class Foo def initialize(bar_obj) @bar_obj = bar_obj end def method_missing(name) if name.to_s =~ /^(aaa|bbb|ccc)$/ @bar_obj.send("some_#{name}") end end def respond_to?(method) @bar_obj.respond_to?("some_#{method}") || super end end class Bar def some_aaa; "a"; end def some_bbb; "b"; end def some_ccc; "a"; end