yamazのRails日記 このページをアンテナに追加 RSSフィード

2007-10-12Nilの拡張 このエントリーを含むブックマーク

http://satoshi.blogs.com/life/2007/10/ruby-2.html


nilnilなんだから,どんなメソッドを受け取ってもnilでいいじゃん!」

そんなアナタに.



RubyにはMethod Missingという「メソッドがなかったとき」の挙動を

定義する機構があるので,

class NilClass
  def method_missing(name, *arg)
     nil
  end
end

これを追加(Railsならapp/helpers/application_helper.rbあたり)することでnilに関するNoMethodErrorがなくなります.


特にRailsが対象とするようなWebアプリにおいては,パラメータがこないケースなどの

エラー補足をしなくてすむので,便利といえば便利ですが,自己責任で.


「あぁそれはNilパターンだよ」という話は某所で聞きましたが,言語感覚が飛んでる人の言だったので,きっと造語だと思います.

(おしまい)

トラックバック - http://rubyist.g.hatena.ne.jp/yamaz/20071012