2011年4月26日火曜日

Ruby例外エラーの仕組み

Ruby例外エラーの仕組み
エラーを発生させる仕組みから、「例外」というエラーが返される。
エラー例外に対応可能な仕組です。

■1ソース
p "############Ruby例外エラーの仕組み##############"

user_mapping = {"kayo" => nil}
p user_mapping.key? "kayo"
p user_mapping.key? "tetus"
p user_mapping.fetch("kayo")
p user_mapping.fetch("tetus")

■結果1
true
false
nil
******.rb:30:in `fetch': key not found (IndexError)
        ******.rb:30


■ソース2ハッシュの比較
p "############Rubyハッシュの比較##############"

hash1 = { "a" => 1, "b" => 2 }
hash2 = { "a" => 1, "b" => 2 }
p hash1 == hash2
p hash1 == {  "b" => 2,"a" => 1}
p hash1 == { "a" => 9, "b" => 2 }
p hash1 == { "z" => 1, "b" => 2 }
p hash1 == { "a" => 1, "b" => 2 ,"c" => 3}

■結果 ハッシュの比較の場合、キーと値が等しいとき同士です。順序は関係ありません。
true
true
false
false
false

****解説*****

すべてのハッシュはHashクラスのインスタンスです。sizeやkeyなどのメソッドいろいろとあります。

0 件のコメント:

コメントを投稿