ハッシュの美学(1)
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
ヒューマンリソシア株式会社はコラム「ハッシュの美学(1)」を公開しました。
ハッシュの初期化
今回はRubyでハッシュまたは連想配列と呼ばれるものを扱う方法について触れてみたいと思います。RubyのハッシュはHashクラスを利用します。HashクラスもArrayクラスと同様に非常に良くできておりメソッドは痒いところに手が届く仕様になっています。では、ハッシュの宣言方法から見ていきましょう。以下のいずれもハッシュの宣言方法です。1行目はクラスを初期化していますので通常の表現方法ですが、2行目はRubyらしい宣言方法ですね。
>> hash=Hash.new()
=> {}
>> hash={}
=> {}
ハッシュは連想配列とも呼ばれます。通常の配列は、添え字(またはインデックス)に整数を指定しますが、ハッシュの場合は、添え字には文字列や数字などRubyで扱えるクラスであればなんでも利用することができます。
では、インデックスを利用した、初期化方法を見ていきましょう。1行目は、通常の初期化になります。配列でご紹介した「%w」などを利用したハッシュの表現方法はありません。
>> hash={“one”=>”一”, “two”=>”二”, “three”=>”三”}
=> {“one”=>”一”, “two”=>”二”, “three”=>”三”}
また、Rubyでよく使われるハッシュの利用方法として、「シンボル」も利用されます。シンボルは任意の文字列に一対一で対応するオブジェクトです。「:name」といったように前に「:(コロン)」をつけて表現されます。上記のハッシュをシンボルを利用して表現すると以下の通りとなります。
>> hash={:one=>”一”, :two=>”二”, :three=>”三”}
=> {:one=>”一”, :two=>”二”, :three=>”三”}
また、Ruby 1.9以降では以下のようにも表現できます。
この続きは以下をご覧ください
http://resocia.jp/column/346/
ソーシャルもやってます!