Hash#fetch2010/02/04

例外が起きるか否か

んー、Hash#[] が例外を投げるかどうかは、その言語のデザイナが「どちらのユースケースが頻出パターンであるか」を判断した結果だと思います。

Rubyにも Hash#fetch という長いメソッドが用意されていて、このメソッドのデフォルト動作はキーが存在しなければIndexError例外が発生する Hash#[] です。

これは、Matzが、例外が起きて欲しい場合とそうでない場合を量りにかけて、後者の方が多いと判断した結果じゃないのかなあ。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://dragonstar.asablo.jp/blog/2010/02/04/4855379/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。