| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Maxx 17.10.2007 22:28 / 17.10.2007 22:29
думаю только для того, чтобы не считать (($num % 100) \ 10) == 1 для чисел меньше 10 (что бессмысленно), а сразу переходить в else-блок@intRuCases[num;case1;case234;caseDefault]
# если последние две цифры 10..19
^if((($num % 100) \ 10)== 1){
$result[$caseDefault]
}{
^switch($num % 10){
^case(1){$result[$case1]}
^case(2;3;4){$result[$case234]}
^case[DEFAULT]{$result[$caseDefault]}
}
}имхо, case1,case234 - легче запомнить (сущ при числе 1 - яблоко, сущ. при числах 2,3,4 - яблока, во всех остальных случаях - яблок) чем вспоминать каждый раз, что такое genitive_plural :)