Перейти к содержанию

Модуль:Random/doc

Материал из Викицитатника

Этот модуль содержит ряд функций, использующих случайные числа. Он может вернуть случайное число, выбрать случайный элемент списка или перемешать список случайным образом. Перемешанные списки могут быть выведены в строчку или в виде нумерованных или ненумерованных списков различных видов. Доступные функции описаны более подробно ниже.

Функция number возвращает случайное число.

{{#invoke:random|number|m|n|same=yes}}

Аргументы m и n могут быть опущены, однако в случае, если они заданы, они должны быть приводимы к целым числам.

  • При вызове без параметров возвращает вещественное число в полуинтервале .
  • При вызове с одним параметром возвращает целое число из интервала . m должно быть положительным.
  • При вызове с двумя параметрами возвращает целое число из интервала . m и n могут быть как положительными, так и отрицательными. Если m больше n, возвращает целое число из интервала .
  • Если параметру |same= присвоено одно из значений «yes», «y», «true» или «1», одно и то же случайное число возвращается для каждого вызова модуля на данной странице.

Примеры (обновить)

  • {{#invoke:random|number}} → 0.97250046300353
  • {{#invoke:random|number|100}} → 50
  • {{#invoke:random|number|-100|-50}} → -66
  • {{#invoke:random|number|100|same=yes}} → 22
  • {{#invoke:random|number|100|same=yes}} → 22

Документация этой функции частично скопирована из справки по Scribunto Lua, в свою очередь основанной на справке по Lua 5.1, доступной под лицензией MIT.

Функция date возвращает случайную дату.

{{#invoke:random|date|метка1|метка2|format=формат даты|same=yes}}
  • Если ни одна из временных меток не задана, модуль возвращает случайную дату текущего года.
  • Если заданы параметры метка1 и метка2, модуль возвращает случайную дату между данными двумя временными метками. метка1 должна быть раньше метка2.
  • Если задан только параметр метка1, модуль возвращает случайную дату между «эрой Unix» (1 января 1970) и временной меткой. Метка метка1 не должна быть раньше 1 января 1970.
  • Форматирование может быть задано параметром |format=. Форматирование по умолчанию — «hh:mm, DD Month YYYY (UTC)» (аналогично форматированию по умолчанию временных меток Википедии).
  • Временные метки и параметр |format= поддерживают значения, совместимые с функцией парсера #time. Обратитесь к документации #time для получения полного списка возможных входных значений и опций форматирования.
  • Если параметру |same= присвоено одно из значений «yes», «y», «true» или «1», одна и та же дата возвращается для каждого вызова модуля на данной странице.

Примеры (обновить)

  • {{#invoke:random|date}} → 06:12, 01 октябрь 2024 (UTC)
  • {{#invoke:random|date|format=F j}} → август 24
  • {{#invoke:random|date|1 Jan 1980|31 Dec 1999}} → 22:22, 21 сентябрь 1981 (UTC)
  • {{#invoke:random|date|1st January 1500|1st January 3000|format=g:i a, l d M Y}} → 11:35 am, вторник 06 апр 2010
  • {{#invoke:random|date|1970/06/01}} → 15:41, 01 апрель 1970 (UTC)
  • {{#invoke:random|date|same=yes}} → 09:24, 21 март 2024 (UTC)
  • {{#invoke:random|date|same=yes}} → 09:24, 21 март 2024 (UTC)

Функция item возвращает случайный элемент списка.

{{#invoke:random|item|элемент списка 1|элемент списка 2|элемент списка 3|...|same=yes}}

Если параметру |same= присвоено одно из значений «yes», «y», «true» или «1», один и тот же элемент возвращается для каждого вызова модуля на данной странице.

Пример (обновить)

  • {{#invoke:random|item|egg|beans|sausage|bacon|spam}} → spam
  • {{#invoke:random|item|egg|beans|sausage|bacon|spam|same=yes}} → bacon
  • {{#invoke:random|item|egg|beans|sausage|bacon|spam|same=yes}} → bacon

Функция list возвращает список в случайном порядке.

{{#invoke:random|list|элемент списка 1|элемент списка 2|элемент списка 3|...|sep=разделитель|limit=сколько элементов отображать|same=yes}}

Именованные параметры

  • |sep= или |separator= — опциональный разделитель списка элементов. Некоторые значения зарезервированы, см. таблицу ниже.
  • |limit= — максимальное число отображаемых элементов списка. Наименьшее возможное значение — 0, наибольшее — число элементов в списке.
  • Если параметру |same= присвоено одно из значений «yes», «y», «true» или «1», один и тот же список возвращается для каждого вызова модуля на данной странице.
Возможные значения разделителя
Код Вывод
dot ⧼dot-separator⧽
pipe |
comma ,
tpt-languages ⧼tpt-languages-separator⧽
space пробел
newline символ перевода строки
любое другое значение остальные значения используются без изменения

Передать пробелы в параметр |sep= невозможно из-за ограничений, накладываемых синтаксисом шаблонов в MediaWiki. Однако их можно обойти, используя мнемоники HTML. Используйте   для представления обычного пробела и   для представления неразрывного пробела.

Примеры (обновить)

  • {{#invoke:random|list|egg|beans|sausage|bacon|spam}} → eggsausagespambeansbacon
  • {{#invoke:random|list|egg|beans|sausage|bacon|spam|sep=dot}} → spam⧼dot-separator⧽sausage⧼dot-separator⧽beans⧼dot-separator⧽bacon⧼dot-separator⧽egg
  • {{#invoke:random|list|egg|beans|sausage|bacon|spam|sep=space}} → egg beans bacon spam sausage
  • {{#invoke:random|list|egg|beans|sausage|bacon|spam|sep=; }} → beans; sausage; egg; spam; bacon
  • {{#invoke:random|list|egg|beans|sausage|bacon|spam|sep=foo}} → baconfoobeansfoosausagefooeggfoospam
  • {{#invoke:random|list|egg|beans|sausage|bacon|spam|limit=3}} → sausagebaconspam
  • {{#invoke:random|list|egg|beans|sausage|bacon|spam|same=yes}} → sausagebeansspameggbacon
  • {{#invoke:random|list|egg|beans|sausage|bacon|spam|same=yes}} → sausagebeansspameggbacon

Text list

[править]

Функция text_list возвращает список в случайном порядке в виде связанного текста. Другими словами, эта функция работает так же, как функция list, но использует другой разделитель перед последним элементом.

{{#invoke:random|text_list|элемент списка 1|элемент списка 2|элемент списка 3|...|sep=разделитель|conj=союз|limit=сколько элементов отображать|same=yes}}

Разделитель может быть задан параметрами |sep= или |separator=; значение по умолчанию — «, ». Союз может быть задан параметрами |conj= или |conjunction=; значение по умолчанию — « и ». В параметры разделителя и союза могут быть переданы те же значения, что и в параметр разделителя в функции list.

Максимальное число отображаемых элементов списка может быть задано параметром |limit=. Наименьшее возможное значение — 0, наибольшее — число элементов в списке.

Если параметру |same= присвоено одно из значений «yes», «y», «true» или «1», один и тот же список возвращается для каждого вызова модуля на данной странице.

Примеры (обновить)

  • {{#invoke:random|text_list|egg|beans|sausage|bacon|spam}} → egg, bacon, sausage, spam и beans
  • {{#invoke:random|text_list|egg|beans|sausage|bacon|spam|sep=; }} → spam; beans; egg; sausage и bacon
  • {{#invoke:random|text_list|egg|beans|sausage|bacon|spam|sep=; |conj= или }} → bacon; egg; beans; sausage или spam
  • {{#invoke:random|text_list|egg|beans|sausage|bacon|spam|limit=3}} → spam, beans и sausage
  • {{#invoke:random|text_list|egg|beans|sausage|bacon|spam|same=yes}} → sausage, beans, spam, egg и bacon
  • {{#invoke:random|text_list|egg|beans|sausage|bacon|spam|same=yes}} → sausage, beans, spam, egg и bacon

HTML-списки

[править]

Если вы хотите вывести HTML-список в случайном порядке, вы можете выбрать одну из пяти функций: bulleted_list, unbulleted_list, horizontal_list, ordered_list, и horizontal_ordered_list. Все эти функции используют Модуль:List.

Название функции Создаёт Код примера Вывод примера (обновить)
bulleted_list Маркированный список {{#invoke:random|bulleted_list|egg|sausage|spam}}
  • spam
  • sausage
  • egg
unbulleted_list Немаркированный список {{#invoke:random|unbulleted_list|egg|sausage|spam}}
  • spam
  • egg
  • sausage
horizontal_list Горизонтальный маркированный список {{#invoke:random|horizontal_list|egg|sausage|spam}}
  • egg
  • spam
  • sausage
ordered_list Упорядоченный список (нумерованные и алфавитные списки) {{#invoke:random|ordered_list|egg|sausage|spam}}
  1. spam
  2. sausage
  3. egg
horizontal_ordered_list Горизонтальный упорядоченный список {{#invoke:random|horizontal_ordered_list|egg|sausage|spam}}
  1. egg
  2. spam
  3. sausage
Базовое использование
{{#invoke:random|функция|элемент списка 1|элемент списка 2|элемент списка 3|...|limit=сколько элементов отображать|same=yes}}
Все параметры
{{#invoke:random|функция
|первый элемент|второй элемент|третий элемент|...
|start           = начальное число для упорядоченного списка
|type            = тип маркера для упорядоченного списка
|list_style_type = тип маркера для упорядоченного списка (использует CSS)
|class           = класс
|style           = стиль
|list_style      = стиль списка
|item_style      = стиль всех элементов списка
|item_style1     = стиль первого элемента списка |item_style2 = стиль второго элемента списка |...
|indent          = отступ для горизонтальных списков
}}

Максимальное число отображаемых элементов списка может быть задано параметром |limit=. Наименьшее возможное значение — 0, наибольшее — число элементов в списке.

Если параметру |same= присвоено одно из значений «yes», «y», «true» или «1», один и тот же список возвращается для каждого вызова модуля на данной странице.

Посетите документацию Модуля:List для получения полной информации по остальным параметрам.

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