Фэндом

Банк скриптов для голосового движка Festival Wiki

Склонение слов по числительным

13статей на
этой вики
Добавить новую страницу
Обсуждение0 Поделиться

Скрипт для склонения слов по числительному, к которому они примыкают. Например, 1 час, 2 часа, 3 часа, 10 часов и т.д.

pluralform.php

#!/usr/bin/php
<?

function pluralForm($n, $form1, $form2, $form5)
{
  $n = abs($n) % 100;
  $n1 = $n % 10;
  if ($n > 10 && $n < 20) return $form5;
  if ($n1 > 1 && $n1 < 5) return $form2;
  if ($n1 == 1) return $form1;
  return $form5;
 }

 echo pluralForm($argv[1], $argv[2], $argv[3], $argv[4]);
?>

Функция pluralForm была найдена где-то на просторах сети, правда автор остался неизвестен. Внесем свой вклад в общее дело, переписав скрипт на bash'e.

pluralform.sh

 #!/bin/bash
 n=$(($1 % 100))
 n1=$(($n % 10))
 if [ $n -gt 10 -a $n -lt 20 ]; then echo $4;
 elif [ $n1 -gt 1 -a $n1 -lt 5 ]; then echo $3;
 elif [ $n1 -eq 1 ]; then echo $2;
 else echo $4
 fi

Не забываем дать права выполнения скрипту:

$ chmod u+x pluralform.sh

Пример использования:

$ ./pluralform.sh 2 штука штуки штук
штуки

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на Фэндоме

Случайная вики