Array#uniq のブロックで条件を指定した時に最初の要素が保持されるのは保証されていますか?
例えば次のような配列があり
a = [{a: 1, b: 2}, {a: 1, b: 3}]
これを以下のようにブロックを使ったuniq
メソッドで
統合した時に先頭の要素が残るのですが、
a.uniq{|i| i.values_at(:a)}
# => {a: 1, b: 2}
このように「先頭に近い要素が残る」という動作は保証されていますか?
ドキュメントを確認してみたのですが、明確な記述が見つけられませんでした。
http://ruby-doc.org/core-2.2.0/Array.html