![]() |
Склонение имен существительных после числительных
Vladmir Yablokov [09 февраля 2004]
Метод, позволяет склонять существительные, стоящие после числительных, и позволяет избегать в результатах работы ваших скриптов сообщений вида: «найдено 2 записей».
Принцип работы крайне прост: в качестве результата выдается словоформа, которая определяется двумя последними цифрами (или одной, если число однозначное).
@num_decline[num;nominative;genitive_singular;genitive_plural] ^if($num > 10 && (($num % 100) \ 10) == 1){ $result[$genitive_plural] }{ ^switch($num % 10){ ^case(1){$result[$nominative]} ^case(2;3;4){$result[$genitive_singular]} ^case(5;6;7;8;9;0){$result[$genitive_plural]} } }Использование:
^num_decline[натуральное число или ноль;именительный падеж;родительный падеж, ед. число;родительный падеж, мн. число]Примеры вызовов:
^num_decline[112;сообщение;сообщения;сообщений] вернет: «сообщений», а
^num_decline[102;сообщение;сообщения;сообщений] возвратит строку: «сообщения».Как правило, удобнее использовать склонение нескольких слов одновременно.
Такой вызов:
$found(77) ^num_decline[$found;найдена $found запись;найдены $found записи;найдены $found записей]вернет строку «найдены 77 записей».
| E-mail: mailbox@parser.ru | Copyright © 1997–2011 | Студия Артемия Лебедева |