カレッヂ |
質問者 うむむ
投稿日 2004/11/28(日) 19:11:19
題名の通りなのですが、例えば @a = ( {'c' => "mixa",'time' => 1}, {'c' => "fox",'time' => 3}, {'c' => "miaa",'time' => 2} ); このようなハッシュの配列を、timeにてソートしたいのですが $a[0]{'time'} が 1 $a[1]{'time'} が 3 $a[2]{'time'} が 2 なのを $a[0]{'time'} が 1 $a[1]{'time'} が 2 $a[2]{'time'} が 3 として、c側もこれについてくる $a[0]{'c'} が mixa $a[1]{'c'} が miaa $a[2]{'c'} が fox このような結果になるソースを知りたいです。なるべくスマートに書ければ嬉しいです。
【習熟度】(未選択) |
回答者 domo
[削除]
投稿日 2004/11/29(月) 13:02:35
# 普通に sort をするだけでは? use Data::Dumper; @a = ( {'c' => "mixa", 'time' => 1}, {'c' => "fox", 'time' => 3}, {'c' => "miaa", 'time' => 2} ); @sort = sort { $a->{'time'} <=> $b->{'time'} } @a; print Dumper(\@sort); |
返信(回答)する
Web裏技 |