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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Andrey Rookin                        2:5020/238.13  10 Jan 2002  13:21:24
 To : Dmitry M. Gavrin
 Subject : Прошло день|дня|дней or год|лет
 -------------------------------------------------------------------------------- 
 
 
 06 Jan 02 06:24, Dmitry M. Gavrin wrote to Всем:
 
  DMG>      Где   и  что  (желательно  на  pусском)  можно  почитать  о  том,
  DMG> как оpганизовать  подставление  нужной  фоpмы  слова в зависимости от
  DMG> числа. То есть,  чтобы  допустим  в  случае  1  выводить _год_, в  случае
  DMG> 2-4 выводить _года_,   а   в  случае  5-10яДД _лет_. Или аналогично с
  DMG> днями и тому подобное. Пpичем  чтобы  pаботало  и  с  большими  числами
  DMG> 100  лет, 3541 год и тому подобное. А может сами pасскажете в кpатце?
  DMG> Заpанее благодаpен.
 === Cut ===
 sub inflect {
   my ($x, $s, $i2, $i5) = @_;
   $x = (substr($x, -2, 1) == 1) ? 10 : substr($x, -1);
   $s =~ s/\[(.*?)\]$//;
   return "$s$1" if $x == 1;
   return "$s$i2" if $x >= 2 && $x <= 4;
   return "$s$i5";
 }
 
 === Cut ===
 
 пользовать так:
 
 inflect( число, 'один_предмет_[изменяемое_окончание]',
   'окончание_для_2-4_предметов', 'окончание_для_остального_кол-ва');
 
 $s = inflect($x, 'Автомобил[ь]', 'я', 'ей');
 $s = inflect($x, '[год]', 'года', 'лет');
 
 - zxc -
 --- GoldED/W32 3.0.1
  * Origin: e-mail: zxc@kak-sam.to, IRC: zxc13#fidorus (2:5020/238.13)
 
 

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

 Тема:    Автор:    Дата:  
 Прошло день|дня|дней or год|лет   Dmitry M. Gavrin   06 Jan 2002 07:24:00 
 Прошло день|дня|дней or год|лет   Michael Savin   06 Jan 2002 17:19:34 
 Прошло день|дня|дней or год|лет   Dmitry M. Gavrin   07 Jan 2002 01:02:00 
 Прошло день|дня|дней or год|лет   Michael Savin   07 Jan 2002 13:29:24 
 Прошло день|дня|дней or год|лет   Andrey Rookin   10 Jan 2002 13:21:24 
Архивное /ru.perl/39033c3d88ae.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional