Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Alexander V. Gaiduk                  2:5020/400     12 Aug 2002  11:47:01
 To : Slava Kostin
 Subject : Hа: Рекурсивный обход каталогов
 -------------------------------------------------------------------------------- 
 
 >  SK>> Все понял. Вот это не понял: sort { $a cmp $b }
 >  SK>> Hизя было sort(readdir(DIR))?
 >  AC> Можно.
 >
 > Опять я! :)
 > Hу пожалуйста, поясни, как работает sort { $a cmp $b }, что нам дает cmp?
 > Извини, замучал. Hо вот дался мне этот сорт...
 
 @a = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25);
 @b = sort {$a cmp $b} @a;
 @c = sort {$a <=> $b} @a;
 foreach (@b) { print "$_,"; }
 print "\n";
 foreach (@c) { print "$_,"; }
 
 результат:
 1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,25,3,4,5,6,7,8,9,
 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,
 
 разница видна?
 
 в дополнение:
 - поменяв местами $a и $b получается обратная сортировка
 - вместо {$a что_то $b} можно использовать функцию, получающую
 на входе два параметра (те же $a и $b) а на выходе дающая:
 -1 в случае $a < $b
 +1 в случае $a > $b
 0 в случае $a = $b
 в этом случае можно реализовать сложную сортировку, например
 строка вида "какие_то_буквы_73423456_снова_буквы" и сортировать
 надо по цыфрам, игнорируя буквы:
 выкусываешь регэкспом цыфры и используешь '<=>' для "числовой" сортировки.
 --- ifmail v.2.15dev5
  * Origin: LesoBANK (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Рекурсивный обход каталогов   Slava Kostin   08 Aug 2002 08:42:53 
 Re: Рекурсивный обход каталогов   Artem Chuprina   08 Aug 2002 16:31:50 
 Рекурсивный обход каталогов   Slava Kostin   09 Aug 2002 08:29:53 
 Re: Рекурсивный обход каталогов   Artem Chuprina   09 Aug 2002 13:39:48 
 Hа: Рекурсивный обход каталогов   Alexander V. Gaiduk   08 Aug 2002 16:39:58 
 Hа: Рекурсивный обход каталогов   Alexander V. Gaiduk   09 Aug 2002 10:32:02 
 Hа: Рекурсивный обход каталогов   Slava Kostin   09 Aug 2002 08:41:04 
 Hа: Рекурсивный обход каталогов   Alexander V. Gaiduk   09 Aug 2002 13:45:55 
 Re: Hа: Рекурсивный обход каталог ов   Andrey Sapozhnikov   09 Aug 2002 18:19:39 
 Hа: Рекурсивный обход каталогов   Slava Kostin   09 Aug 2002 15:44:51 
 Re: Hа: Рекурсивный обход каталогов   Artem Chuprina   09 Aug 2002 20:12:10 
 Re: Hа: Рекурсивный обход каталогов   Andrey Sapozhnikov   09 Aug 2002 21:21:28 
 Re: Hа: Рекурсивный обход каталогов   Artem Chuprina   09 Aug 2002 22:45:05 
 Hа: Hа: Рекурсивный обход каталогов   Alexander V. Gaiduk   12 Aug 2002 11:49:09 
 Hа: Рекурсивный обход каталогов   Slava Kostin   10 Aug 2002 17:50:29 
 Hа: Рекурсивный обход каталогов   Alexander V. Gaiduk   12 Aug 2002 11:47:01 
 Re: Hа: Рекурсивный обход каталогов   Artem Chuprina   12 Aug 2002 12:25:59 
 Hа: Hа: Рекурсивный обход каталогов   Alexander V. Gaiduk   12 Aug 2002 13:29:39 
 Re: Hа: Hа: Рекурсивный обход каталогов   Artem Chuprina   12 Aug 2002 16:03:13 
 Re: Hа: Рекурсивный обход каталогов   Andrey Sapozhnikov   12 Aug 2002 21:08:38 
 Re: Hа: Рекурсивный обход каталогов   Artem Chuprina   13 Aug 2002 00:14:47 
 Re: Hа: Рекурсивный обход каталогов   Artem Chuprina   09 Aug 2002 13:54:17 
Архивное /ru.perl/119992ebde3b7.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional