[#47529] ruby1.9.2 にて、 IO#reopen で第2引数を省略したときにモードが引き継がれない — jugyo kohno <kkohno@...>

jugyo と申します

11 messages 2010/10/08
[#47562] Re: ruby1.9.2 にて、 IO#reopen で第2引数を省略したときにモードが引き継がれない — "Y. NOBUOKA" <nobuoka@...> 2010/10/15

信岡です。

[#47537] Excel用のxmlssファイルを作成するライブラリ exlap_c — "YOSHIIZUMI" <t-yoshiizumi@...>

 吉泉といいます。

11 messages 2010/10/10

[ruby-list:47543] ruby 1.9.2でArrayのsortの結果が期待通りにならない

From: sesame <sesame@...>
Date: 2010-10-11 17:10:17 UTC
List: ruby-list #47543
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

In This Thread

Prev Next