志茂吉建氏のRubyコラム『ハッシュの美学(1)』
Rails技術者認定試験運営委員会の吉政でございます。
私が企画したコラムの件です。Rails技術者認定試験運営委員会のオーナーでもあるヒューマンリソシアが志茂吉建氏のRubyコラム『ハッシュの美学(1)』を公開しています。
今回はRubyでハッシュまたは連想配列と呼ばれるものを扱う方法について解説いただきました。興味がある方は是非♪
###
ハッシュの初期化
今回はRubyでハッシュまたは連想配列と呼ばれるものを扱う方法について触れてみたいと思います。RubyのハッシュはHashクラスを利用しま す。HashクラスもArrayクラスと同様に非常に良くできておりメソッドは痒いところに手が届く仕様になっています。では、ハッシュの宣言方法から見 ていきましょう。以下のいずれもハッシュの宣言方法です。1行目はクラスを初期化していますので通常の表現方法ですが、2行目はRubyらしい宣言方法で すね。
=> {}
>> hash={}
=> {}
ハッシュは連想配列とも呼ばれます。通常の配列は、添え字(またはインデックス)に整数を指定しますが、ハッシュの場合は、添え字には文字列や数字などRubyで扱えるクラスであればなんでも利用することができます。
では、インデックスを利用した、初期化方法を見ていきましょう。1行目は、通常の初期化になります。配列でご紹介した「%w」などを利用したハッシュの表現方法はありません。
=> {“one”=>”一”, “two”=>”二”, “three”=>”三”}
また、Rubyでよく使われるハッシュの利用方法として、「シンボル」も利用されます。シンボルは任意の文字列に一対一で対応するオブジェクトで す。「:name」といったように前に「:(コロン)」をつけて表現されます。上記のハッシュをシンボルを利用して表現すると以下の通りとなります。
=> {:one=>”一”, :two=>”二”, :three=>”三”}
また、Ruby 1.9以降では以下のようにも表現できます。
=> {:one=>”一”, :two=>”二”, :three=>”三”}
ハッシュへのアクセス
ハッシュへアクセスするにはどのような方法があるでしょうか。ハッシュにアクセスするには添字(またはインデックス)を利用します。存在しない添字を指定して配列にアクセスすると「nil」が返されます。
>> p hash["one"]
“一”
(この続きは以下のコラム本文をご覧ください)
http://resocia.jp/column/346/