Модуль:Ru/doc

Материал из Буквицы
Перейти к навигации Перейти к поиску

Это страница документации Модуль:Ru

Для документации этого модуля может быть создана страница Модуль:Ru/doc/doc

Этот модуль содержит основные функции преобразования текста для русского языка.

== Функции ==
=== <code>locative</code> ===
Формирует [[предложный падеж]] (препозитив), в большинстве случаев совпадающий с [[Местный падеж|местным падежом]] (локативом):
* {{nobr|1=<code><nowiki>в {{#invoke:ru|locative|Москва}}</nowiki></code> →}} в {{#invoke:ru|locative|Москва}}
* {{nobr|1=<code><nowiki>в {{#invoke:ru|locative|Казань}}</nowiki></code> →}} в {{#invoke:ru|locative|Казань}}
Существует, однако, большая группа существительных, для которых формы предложного и местного падежей не совпадают (например: «лес» → «о ле́с{{color|red|е}}», но «в лес{{color|red|у́}}»). '''Данная функция не учитывает эти исключения — не используйте её в подобных случаях!'''
* {{nobr|1=<code><nowiki>о {{#invoke:ru|locative|лес}}</nowiki></code> →}} о {{#invoke:ru|locative|лес}}

=== <code>pl</code> ===
Формирует [[множественное число]] (название функции — от {{lang-en|plural}}):
* {{nobr|1=<code><nowiki>{{#invoke:ru|pl|шахтёр}}</nowiki></code> →}} {{#invoke:ru|pl|шахтёр}}
* {{nobr|1=<code><nowiki>{{#invoke:ru|pl|трава}}</nowiki></code> →}} {{#invoke:ru|pl|трава}}
* {{nobr|1=<code><nowiki>{{#invoke:ru|pl|конь}}</nowiki></code> →}} {{#invoke:ru|pl|конь}}

Данная функция определяет [[Склонение (лингвистика)|склонение]] слова с помощью функции <code>guessdecl</code>. При необходимости (напр., когда <code>guessdecl</code> ошибается), склонение можно указать в явном виде во втором аргументе:
* {{nobr|1=<code><nowiki>{{#invoke:ru|pl|пальто|0}}</nowiki></code> →}} {{#invoke:ru|pl|пальто|0}} (без второго аргумента: {{nobr|1=<code><nowiki>{{#invoke:ru|pl|пальто}}</nowiki></code> →}} ошибочно «{{#invoke:ru|pl|пальто}}»)

==== <code>guessdecl</code> ====
Угадывает тип [[Склонение (лингвистика)|склонения]] (название функции — от {{lang-en|guess declension}}). Данная функция используется функцией <code>locative</code>, если при вызове последней не задан второй параметр. Возвращаемые значения:
* <code>0</code> — для несклоняемых существительных;
* <code>1</code>, <code>2</code> и <code>3</code> — для существительных I, II и {{nobr|III склонения}}, соответственно;
* <code>a</code> (от {{lang-en|adjective}}) — для прилагательных.

'''Важно''': невозможно без использования словаря различать следующие случаи:
* слова {{nobr|III склонения}} (напр., «дверь») и оканчивающиеся на «ь» слова {{nobr|II склонения}} (напр., «конь»). Данная функция возвращает для таких слов значение <code>2</code>. Значение <code>3</code> возвращается только для слов, оканчивающихся на «''X''мя», где ''X'' — гласная (напр., «время»); в действительности, эти слова являются разносклоняемыми (см. статью [[Склонение (лингвистика)|Склонение]]) и склоняются по третьему склонению не во всех формах: исключение — форма творительного падежа единственного числа.
* несклоняемые слова, форма которых совпадает с формой какого-либо склонения (напр., {{nobr|«пальто» /}} «озеро»). Для таких слов будет возвращаться неправильное значение <code>1</code>, <code>2</code> или <code>3</code> вместо правильного <code>0</code>.

Примеры:
* {{nobr|1=<code><nowiki>{{#invoke:ru|guessdecl|такси}}</nowiki></code> →}} {{#invoke:ru|guessdecl|такси}}
* {{nobr|1=<code><nowiki>{{#invoke:ru|guessdecl|юноша}}</nowiki></code> →}} {{#invoke:ru|guessdecl|юноша}}
* {{nobr|1=<code><nowiki>{{#invoke:ru|guessdecl|дом}}</nowiki></code> →}} {{#invoke:ru|guessdecl|дом}}
* {{nobr|1=<code><nowiki>{{#invoke:ru|guessdecl|дверь}}</nowiki></code> →}} {{#invoke:ru|guessdecl|время}}
* {{nobr|1=<code><nowiki>{{#invoke:ru|guessdecl|белый}}</nowiki></code> →}} {{#invoke:ru|guessdecl|белый}}

Примеры ошибок:
* {{nobr|1=<code><nowiki>{{#invoke:ru|guessdecl|дверь}}</nowiki></code> →}} {{#invoke:ru|guessdecl|дверь}} (должно быть <code>3</code>)
* {{nobr|1=<code><nowiki>{{#invoke:ru|guessdecl|пальто}}</nowiki></code> →}} {{#invoke:ru|guessdecl|пальто}} (должно быть <code>0</code>)

=== <code>o</code> ''<small>(латиницей)''</small> ===
Подбирает предлог о/об/обо:
* {{nobr|1=<code><nowiki>{{#invoke:ru|o|том}}</nowiki></code> →}} {{#invoke:ru|o|том}}
* {{nobr|1=<code><nowiki>{{#invoke:ru|o|этом}}</nowiki></code> →}} {{#invoke:ru|o|этом}}
* {{nobr|1=<code><nowiki>{{#invoke:ru|o|всём}}</nowiki></code> →}} {{#invoke:ru|o|всём}}

==== <code>obo</code> ====
Используется функцией <code>o</code>, для экспорта в другие скрипты, в invoke не работает.

 require("Module:Ru").obo("слово")<!--?-->
<includeonly>[[Категория:Буквица:Модули]]</includeonly>