sesameともうします。

ruby 1.9.2を使用してArrayのsortを試していたのですが、
pメソッドを実行するタイミングによって
異なる結果が返ってきます。

[[9,3],[2,8],[6,7]]という配列を、
各配列の1番目の要素(3,8,7)の大きさを比較して
(3,7,8)の順になるように並ばせたいと考えています。

最終結果が次のようになるのを期待しています。
[[9,3], [6,7], [2,8]]

しかし、pメソッドを実行するタイミングによって、
[[2, 8], [6, 7], [9, 3]]
という結果が返ってきます。

このような結果になる理由がわからないのですが、
ご教示いただけないでしょうか。


*ソース
puts "#-------------------------------------"
p [[9,3],[2,8],[6,7]].sort do |i,j|
  i[1] <=> j[1]
end

puts "#-------------------------------------"
p a = [[9,3],[2,8],[6,7]].sort do |i,j|
  i[1] <=> j[1]
end
p a

puts "#-------------------------------------"
a = [[9,3],[2,8],[6,7]].sort do |i,j|
  i[1] <=> j[1]
end
p a


*出力結果
#-------------------------------------
[[2, 8], [6, 7], [9, 3]]
#-------------------------------------
[[2, 8], [6, 7], [9, 3]]
[[2, 8], [6, 7], [9, 3]]
#-------------------------------------
[[9, 3], [6, 7], [2, 8]]

rubyのバージョンは、
ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.4.0]
になります。

よろしくお願いします。
-- 
sesame / purple.halfmoon.jp