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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Dmitry E. Oboukhov                   2:5004/75.151  14 Dec 2006  19:21:36
 To : Nikolay Pichtin
 Subject : Отсортировать не могу
 -------------------------------------------------------------------------------- 
 
 DO>>  sort {
 DO>>    my @fa=split(/\./, $a);
 DO>>    my @fb=split(/\./, $b);
 NP>
 DO>>    unshift @fa, '0' while(@fa <@fb);
 DO>>    unshift @fb, '0' while(@fa >@fb);
 NP>
 DO>>    for (my $i=0; $i<@fa; $i++)
 DO>>    {
 DO>>      $fa[$i] eq $fb[$i] and next;
 DO>>      return $fa[$i] cmp $fb[$i];
 DO>>    }
 DO>>    return 0;
 DO>>  } @list;
 NP>
 DO>>  что-то в этом духе.
 DO>>  по необходимости заменить cmp на <=> (если надо только цифры)
 DO>>  а eq соответственно на ==
 NP>
 DO>>  ну и отладитьпотому что я прямо тут написал
 NP>
 NP> Hи чего не получается.
 
 видимо потому что мой алгоритм сравнения двух строк отличается от того
 что тебе надо (а что конкретно тебе надо я так и не понял)
 насколько я понял что проблемы при сравнении короткой строки вроде .1 с
 длинной вроде 1.2.3.4
 
 ну вот я и предложил перед сравнением дополнить более короткую строку до
 длинной нулями слева.
 возможно тебе нужно дополнить нулями справа или не нулями а старшей
 цифрой
 
 то есть алгоритма по которому тебе надо поставить числа я не понял
 совершенно, но проблему кажется понял :)
 
 --- Mutt/1.5.13 (2006-08-11)
  * Origin: Горе тому кто попал под столь медленные челюсти! (2:5004/75.151)
 
 

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

 Тема:    Автор:    Дата:  
 Отсортировать не могу   Nikolay Pichtin   10 Dec 2006 13:34:03 
 Отсортировать не могу   Dmitry E. Oboukhov   11 Dec 2006 03:35:05 
 Re: Отсортировать не могу   Nikolay Pichtin   13 Dec 2006 21:14:51 
 Отсортировать не могу   Dmitry E. Oboukhov   14 Dec 2006 19:21:36 
Архивное /ru.perl/3926b2f7133e.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional