Hash#inspect
key/valueの順番ってどうなるのかなーと思って調べました。どういうロジックで順番決めてるのかはよくわからないですが、基本的に中身が同じなら同じ出力になるみたいですね。ちなみに別プロセスでも同じ結果でした。
ree-1.8.7-2010.01 > {:b => "fuga", :a => "hoge", :c => "foo"}.inspect => "{:c=>\"foo\", :a=>\"hoge\", :b=>\"fuga\"}" ree-1.8.7-2010.01 > {:a => "hoge", :b => "fuga", :c => "foo"}.inspect => "{:c=>\"foo\", :a=>\"hoge\", :b=>\"fuga\"}" ree-1.8.7-2010.01 > {:b => "fuga", :c => "foo", :a => "hoge"}.inspect => "{:c=>\"foo\", :a=>\"hoge\", :b=>\"fuga\"}"
追記
どうも状況によっては順番が違うこともあるみたい