![]() |
|
Модераторы: ginnie, korob2001 |
![]()
|
|
| tcg2 |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 26.9.2006 Репутация: нет Всего: нет |
Подскажите с примером разобратся:
, нужно их отсортировать по последней колонке (допустим по убыванию). Я сумеваю извлеч и отсортировать, но только при попытке напечатат вся строка, связана с етой записью в нужном порядке, у меня облом Код:
...А у меня получается вот такая (....) !
|
||||||
|
|||||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
tcg2, есть такая перловая функция sort(), которую можно переопределить по своему усмотрению.
-------------------- менеджер по кодеврайтингу |
|||
|
||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 9 Всего: 50 |
Это сообщение отредактировал(а) amg - 21.4.2008, 12:54 |
|||
|
||||
| tcg2 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 26.9.2006 Репутация: нет Всего: нет |
Она заменяет строки с моего примера с 17 по 27, только заставить работат на моем примере, не знаю как. Может подскажете? |
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 6 Всего: 49 |
Уважаемый tcg2, amg уже Вам подсказал. В Вашем примере в массиве @arr хранятся строчки целиком и они не могут использоваться для сортировки. Нужно выделить часть, по которой сортировать - создать массив массивов каждый элемент которого будет содержать исходную строку и значение для сортировки.
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| tcg2 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 26.9.2006 Репутация: нет Всего: нет |
ginnie, amg если я все правильно понял, то нужно указаного amg, поместить после 27 строчке моего примера, только при таком расскладе ничего не отображается. Если не сложно можете показать?
Это сообщение отредактировал(а) tcg2 - 21.4.2008, 13:23 |
|||
|
||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 9 Всего: 50 |
Это сообщение отредактировал(а) amg - 21.4.2008, 13:38 |
|||
|
||||
| tcg2 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 26.9.2006 Репутация: нет Всего: нет |
Только, грустновато немножко стало, что не все понимаю, что вы наделали за так мало строк по сравнению с моим больше 30ти ('map'...'\s*$'), но как бы ето не суть. Спасибо! Это сообщение отредактировал(а) tcg2 - 21.4.2008, 14:03 |
|||
|
||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 9 Всего: 50 |
Разобраться стоит, т.к. это не какой-то экслюзив, а стандартный способ сортировки строк по полям. Собственно, ginnie уже сказал, что там происходит.
Вот еще вариация на ту же тему: сортируем сначала по последнему полю по убыванию чисел, затем по первому в алфавитном порядке.
|
|||
|
||||
| arto |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 1 Всего: 40 |
sort -nk4
|
|||
|
||||
![]()
|
| Правила форума "Perl: Системное программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |