[#8257] Re: Smalltalk [Re: design patterns] — 助田 雅紀 <masaki.suketa@...>

助田です。

11 messages 1998/06/09
[#8259] Re: Smalltalk [Re: design patterns] — KIMURA Koichi <kkimura@...> 1998/06/10

[#8262] TkGrid do not exist? — Hiramatu Yoshifumi <hiramatu@...>

平松です。

26 messages 1998/06/10
[#8266] Re: TkGrid do not exist? — matz@... (Yukihiro Matsumoto) 1998/06/10

まつもと ゆきひろです

[#8269] Re: TkGrid do not exist? — NAGAI Hidetoshi <nagai@...> 1998/06/10

永井@知能.九工大です.

[#8271] Re: TkGrid do not exist? — NAGAI Hidetoshi <nagai@...> 1998/06/10

永井@知能.九工大です.

[#8375] new MethodIndex — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

21 messages 1998/06/16
[#8447] new MethodIndex — TEI meiki <tei@...> 1998/06/20

こんにちは、鄭です。

[#8448] new MethodIndex — TEI meiki <tei@...> 1998/06/20

再び、鄭です。_o_

[#8418] how to use delegate — gotoken@... (GOTO Kentaro)

ごとけんです

18 messages 1998/06/18
[#8419] Re: how to use delegate — matz@... (Yukihiro Matsumoto) 1998/06/19

まつもと ゆきひろです

[#8420] Re: how to use delegate — gotoken@... (GOTO Kentaro) 1998/06/19

ごとけんです

[#8421] Re: how to use delegate — matz@... (Yukihiro Matsumoto) 1998/06/19

まつもと ゆきひろです

[#8521] hash sort — "Kazuhiro Yoshida" <s95l980@...>

もりきゅうです。

34 messages 1998/06/26
[#8523] hash sort — gotoken@... (GOTO Kentaro) 1998/06/26

ごとけんです

[#8533] Re: hash sort — WATANABE Hirofumi <watanabe@...> 1998/06/26

わたなべです.

[#8534] Re: hash sort — gotoken@... (GOTO Kentaro) 1998/06/26

ごとけんです

[#8536] Re: hash sort — Sinichiro Dezawa <dezawa@...> 1998/06/26

出沢です

[#8538] Re: hash sort — gotoken@... (GOTO Kentaro) 1998/06/26

ごとけんです

[#8539] Re: hash sort — TAKAHASHI Masayoshi <maki@...> 1998/06/26

高橋です。

[#8541] Re: hash sort — gotoken@... (GOTO Kentaro) 1998/06/26

ごとけんです

[#8546] Re: hash sort — Tadayoshi Funaba <tadf@...> 1998/06/26

ふなばです。

[ruby-list:8523] hash sort

From: gotoken@... (GOTO Kentaro)
Date: 1998-06-26 01:54:07 UTC
List: ruby-list #8523
ごとけんです

In message "[ruby-list:8521] hash sort"
    on 98/06/26, "Kazuhiro Yoshida" <s95l980@euler.cc.kagawa-u.ac.jp> writes:

>もりきゅうです。

>連想配列のソートをしたいと思います。
>値の大きい順にならべ、値が等しい場合はキーの大きい順にならべます。
>
>hashtest.rb
>---
>#! ruby
>
>hash = [
>  [ 5, 1], [11, 0], [ 6, 0], [12, 1], [ 1, 1], [ 7, 0],
>  [13, 0], [ 2, 3], [ 8, 0], [ 3, 0], [ 9, 0], [ 4, 0], [10, 0]
>]
>
>hash.to_a.sort! { |a, b| b[1] <=> a[1] or b[0] <=> a[0] }
>p hash
>---

これだと、 or 以降は b[1] <=> a[1] が nil や false のとき
しか評価されないので、

hash.to_a.sort! { |a, b| (b[1] <=> a[1])*2 + (b[0] <=> a[0]) }

    ==> [[2, 3], [12, 1], [5, 1], [1, 1], [13, 0], [11, 0], 
         [10, 0], [9, 0], [8, 0], [7, 0], [6, 0], [4, 0], [3, 0]]

でどうでしょう? 

-- gotoken

In This Thread