かずきのBlog@hatena

日本マイクロソフトに勤めています。このブログは個人ブログなので、ここに書いている内容は個人的な意見で会社の公式見解ではない点にご注意ください。好きなものは XAML と C# 。苦手なものは型の無い言語です。

既存のクラスのメソッドを置き換えちゃう

タイトルみたいな事が出来るようだ。
どういう名前のつけられてる機能かは知らない!!!
早速やってみよう。


エラーが出るバージョンから

s = nil
s.hoge

nilに対してhogeメソッドを呼ぶ。
当然エラー!


nilってのは、NilClassのインスタンスらしいので、NilClassをいじってやる。

class NilClass
    def hoge
        puts "NilClass#hoge"
    end
end

s = nil
s.hoge

実行結果

NilClass#hoge


さて、何に使うんだろう…。