Ruby 6-3

こんにちは!

台風後の方が雨が強い

ハッシュ

今回はキーと値で管理するハッシュです。

hash_array.rb
Image from Gyazo

Image from Gyazo

まずは配列をハッシュに変換しています。

hash_def.rb
Image from Gyazo

Image from Gyazo

存在しないキーにアクセスした場合はnilが返されますが、Hash::newメソッドで規定値の設定が可能です。

hash_def_bad.rb
Image from Gyazo

Image from Gyazo

concatメソッドは破壊的メソッドのため、規定値が変更されている例です。

hash_def_block.rb
Image from Gyazo

Image from Gyazo

ブロック構文での規定値は都度作成されるため、規定値の変更を防いでいます。

hash_bad.rb
Image from Gyazo

Image from Gyazo

キーの中身を書き換えると、ハッシュの中身を取得できなくなるため注意が必要です。
rehashメソッドで再計算はできますが、現実的ではありません。

hash_fetch.rb
Image from Gyazo

Image from Gyazo

キーの規定値を指定するfetchメソッドです。

hash_fetch_values.rb
Image from Gyazo

Image from Gyazo

複数の値をまとめて取得するfetch_valuesメソッドです。

hash_dig.rb
Image from Gyazo

Image from Gyazo

入れ子のハッシュを取得するdigメソッドです。

hash_slice.rb
Image from Gyazo

Image from Gyazo

sliceメソッドは合致するキーを切り出します。
前述のfetch_valuesメソッドの戻り値は対応する値の配列でしたが、sliceメソッドの戻り値は部分ハッシュです。

hash_select.rb
Image from Gyazo

Image from Gyazo

指定の条件でキーや値を判定するselectメソッドです。

hash_key.rb
Image from Gyazo

Image from Gyazo

キーや値が存在するかを確認するkey?メソッドとvalue?メソッドです。

一旦ここまでです。

ではでは。