Rubyがミニツク

あなたのRubyの技術に関するより詳しい知識と理解を増やします。

Ruby入門コース

このコースについて

Rubyのeラーニング研修システムはRailsを使ってWebアプリケーション開発ができる技術者の育成を目指します。 そのため、Railsを扱うことができるだけのRubyの知識を得ることがRuby入門コースの目標となっています。

コンテンツ一覧

ヒント レッスンの名前をクリックすると、その内容を表示します。

次のコンテンツ ホームへ戻る

ハッシュオブジェクトの要素の順番

ハッシュオブジェクトは値をキーに対応付けて要素を格納しています。要素を取り出す時もキーを使うことによって、値を取り出すことができます。配列オブジェクトのようにインデックスで要素が順序付けられていないので、ハッシュオブジェクトは順番を覚えてくれません。たとえば、eachメソッドでハッシュオブジェクトの要素を取り出すと格納した時の順番とは違う順番で出てきます。 

hash = {:key1 => 1, :key2 => 2, :key3 => 3}
hash.each do |item|
  p item
end

もし順番を格納した時と同じ順番にしたい時は、配列オブジェクトにキーを格納するやり方があります。

class Turn
  def initialize
    @hash = {}
    @ary = []
  end
  def add(key, value)
    @hash[key] = value
    @ary << key
  end
  def show
    @ary.each do |item|
      p [item, @hash[item]]
    end
  end
end


次のコンテンツ ホームへ戻る