|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Kirill Solomko 2:5020/400 22 Nov 2001 19:49:22 To : Dmitry Sergeev Subject : Re: проблема с сортировкой хеша -------------------------------------------------------------------------------- Dmitry Sergeev <qwerty@archangelsk.ru> wrote: > Привет ! > Тут возникла проблема. > > Делаю так: > $age{"Dim1"}=2; > $age{"Dim2"}=1; > $age{"Dim3"}=0; > $age{"Dim4"}=-1; > $age{"Dim5"}=-2; > $age{"Dim6"}=-3; > > foreach $key (sort {$age{$b} cmp $age{$a} } keys %age) > { > print "$key, $age{$key}\n"; > } > > В результате получаю: > > Dim1, 2 > Dim2, 1 > Dim3, 0 > Dim6, -3 > Dim5, -2 > Dim4, -1 > > т.е. с отрицательными числами не то получается. > Как быть ? > Может быть я не врубаюсь. Hо в общем нужно отсортировать > хеш по числовому полю. > Спасибо. Посмотри внимательно "что" ты пытаешься отсортировать и попробуй так : :-) $age{"Dim1"}=2; $age{"Dim2"}=1; $age{"Dim3"}=0; $age{"Dim4"}=-1; $age{"Dim5"}=-2; $age{"Dim6"}=-3; foreach $key (sort {$age{$b} <=> $age{$a} } keys %age) { print "$key, $age{$key}\n"; } -- With best wishes, Puma [PUMA-RIPE] --- ifmail v.2.15dev5 * Origin: Unknown (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/9138ade7148c.html, оценка из 5, голосов 10
|