- ベストアンサー
ruby 1.8.7 で、多次元配列をソートする
ruby 1.8.7 で、下記のような配列をソートしたいんですが、どう記述したら良いでしょうか。 x = [[1, 1], [2, 2], [11, 10], ・・・ [1, 13], [2, 14]] ..........a b a = 1番目の ソート 順 b = 2番目の ソート 順 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
例で挙がっている配列なら x.sort でいいんじゃね?
その他の回答 (4)
- koko_u_u
- ベストアンサー率18% (216/1139)
>[1, 1], [1, 13], [2, 2], [2, 14], ...です 結局、どんな仕様なのか誰にも伝わっていません。
- tatsu99
- ベストアンサー率52% (391/751)
#2です。 >1番目とは、[1,1],[2,2]各々の1番目の1,2,11,・・・1,2 >2番目とは、[1,1],[2,2]各々の2番目の1,2,10,・・・13,14 です。 >これが出来たら、わかり易いからうれしいです。 それで、期待する結果はどのようになりますか? x = [[9, 2],[9, 1], [2, 2], [11, 10],[1, 13], [2, 14]] p x y = x.sort() p y とした時の実行結果は [[9, 2], [9, 1], [2, 2], [11, 10], [1, 13], [2, 14]] [[1, 13], [2, 2], [2, 14], [9, 1], [9, 2], [11, 10]] ですが、それが期待する結果でしょうか? もし、違う場合は、その旨補足してください。
補足
期待する結果は [1, 1], [1, 13], [2, 2], [2, 14], ...です。
- koko_u_u
- ベストアンサー率18% (216/1139)
> 本にはハッシュを作ってソートするようにとあったので、そちらでいきます。 そんなことしてると、その本に書いてないケースに遭遇した時に困るよ。 まずは Array のマニュアルを読むべきです。
補足
素人にはRubyの本家は分かりません。
- tatsu99
- ベストアンサー率52% (391/751)
質問の意味が良くわかりません。 a=1番目の ソート 順 b=2番目の ソート 順 の 1番目とは、[1,1]のことですか 2番目とは、[2,2]のことですか それとも 1番目とは、[1,1],[2,2]各々の1番目の1,2,11,・・・1,2 2番目とは、[1,1],[2,2]各々の2番目の1,2,10,・・・13,14 のことですか 上記の例では、どのような結果になることを期待されていますか? 期待する結果をご提示ください。
補足
説明が不十分でした。 1番目とは、[1,1],[2,2]各々の1番目の1,2,11,・・・1,2 2番目とは、[1,1],[2,2]各々の2番目の1,2,10,・・・13,14 です。 これが出来たら、わかり易いからうれしいです。 しかし、本にはハッシュを作ってソートするようにとあったので、そちらでいきます。
お礼
補足の欄で不可能と書いたんです、が、貴方の方法で、出来ました。 申し訳ありません。 正解はもっと複雑な方法だろうと、勝手に思い込んで、別のをメッセージを投稿してしまいました。(koko_u_uさんに届くようにと) ありがとう御座います。
補足
ANO.1さんではsort出来ません。