parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Добавлен новый пример

fruit 09.02.2004 21:41

Простой, но, надеюсь полезный метод: Склонение имен существительных после числительных: пример.

Метод, позволяет склонять существительные, стоящие после числительных, и позволяет избегать в результатах работы ваших скриптов сообщений вида: «найдено 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; запись;записи;записей] возвратит строку: "записи".

P.S. Большое спасибо Misha v.3 за дельные советы.