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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Eugene Bodin                         2:5020/400     23 May 2003  19:52:28
 To : Rostislav Chebykin
 Subject : Re: Как же Switch?
 -------------------------------------------------------------------------------- 
 
 Hello Rostislav,
 
 "Rostislav Chebykin" <philigon.kender@relcom.ru> wrote:
 
 RC> Изначальная задача заключалась в том, чтобы ставить слово после числа
 RC> в нужном падеже: "1 байт", "2 байта", "6 байтов", "3.14 байта" и т. д.
 
 [skip]
 
 RC> этот язык тупо и топорно. Так что хотелось бы как минимум найти
 RC> решение, в котором '$var == ' не повторяется четыре раза.
 
 Hапример, так (правда, только для натуральных чисел):
 
 sub tail {
     my $num = shift;
     for ($num) { # :-)
         ! /^\d+$/        && return " - странное число";
         ( /1\d$/     ||
           /[05-9]$/)     && return "ов";
 
           /[2-4]$/       && return "а";
           /1$/           && return "";
         1                && return " - чего-то не учёл :-)";
     }
 }
 
 while(<>){
     chomp;
     print "$_ байт", tail($_) . "\n";
 }
 
 Если не нравится:
   perldoc -q switch
   perldoc perlsyn
 
 Best regards,
    Eugene
 --- ifmail v.2.15dev5
  * Origin: RadioScan (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Re: Как же Switch?   Eugene Bodin   23 May 2003 19:52:28 
 Re: Как же Switch?   Serg Chervjakov   23 May 2003 22:52:01 
Архивное /ru.perl/65992b31c76f.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional