重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

ruby 1.8.7 で、下記のような配列をソートしたいんですが、どう記述したら良いでしょうか。

x = [[1, 1], [2, 2], [11, 10], ・・・ [1, 13], [2, 14]]
..........a b

a = 1番目の ソート 順
b = 2番目の ソート 順  
   
よろしくお願いします。

A 回答 (5件)

例で挙がっている配列なら x.sort でいいんじゃね?

この回答への補足

ANO.1さんではsort出来ません。

補足日時:2011/02/07 23:43
    • good
    • 0
この回答へのお礼

補足の欄で不可能と書いたんです、が、貴方の方法で、出来ました。
申し訳ありません。
正解はもっと複雑な方法だろうと、勝手に思い込んで、別のをメッセージを投稿してしまいました。(koko_u_uさんに届くようにと)
ありがとう御座います。

お礼日時:2011/02/08 08:32

>[1, 1], [1, 13], [2, 2], [2, 14], ...です



結局、どんな仕様なのか誰にも伝わっていません。
    • good
    • 0

#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], ...です。

補足日時:2011/02/07 23:39
    • good
    • 0

> 本にはハッシュを作ってソートするようにとあったので、そちらでいきます。



そんなことしてると、その本に書いてないケースに遭遇した時に困るよ。
まずは Array のマニュアルを読むべきです。

参考URL:http://doc.okkez.net/static/187/doc/index.html

この回答への補足

素人にはRubyの本家は分かりません。

補足日時:2011/02/08 02:02
    • good
    • 0

質問の意味が良くわかりません。


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  です。

これが出来たら、わかり易いからうれしいです。
しかし、本にはハッシュを作ってソートするようにとあったので、そちらでいきます。

補足日時:2011/02/06 09:02
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!