Модуль:Math/документація
Цей модуль позначено як К:такий, що потребує захищеного статусу (64). Завершені модулі використовуються в дуже великій кількості статей, або часто використовуються як підстановки. Позаяк акти вандалізму або помилки можуть вплинути на багато сторінок і навіть незначне редагування призведе до істотного навантаження на сервери, вони підлягають захисту від редагувань. |
Цей модуль Lua використовується на близько 429 000 сторінках або близько 9% всіх сторінок. Для уникнення великомасштабних збоїв та непотрібного навантаження на сервер, будь-які зміни спочатку потрібно перевірити на підсторінках /пісочниці та /тестів цього модуля, або у вашій пісочниці модуля. Потім перевірені зміни можуть бути впроваджені на цій сторінці єдиним редагуванням. Будь ласка, обговорюйте будь-які зміни на сторінці обговорення перед їхнім впровадженням. |
Це підсторінка документації модуля Модуль:Math. Вона містить інформацію про використання, категорії та інший вміст, що не є частиною оригінальної сторінки модуля. |
У документації цього модуля не вистачає або відсутній опис його функціоналу, або параметрів у його коді. Будь ласка, допоможіть покращити її. |
Цей модуль забезпечує ряд математичних функцій. Ці функції можуть використовуватися з #invoke чи іншими модулями Lua.
Використання з іншим модулем Lua
[ред. код]Щоб використовувати цей модуль на звичайних вікісторінках, спеціальні знання не потрібні. Якщо ви використовуєте цей модуль з іншим модулем Lua, то вам спочатку потрібно його завантажити як на прикладі:
local mm = require('Module:Math')
(Змінна mm
розшифровується як Module Math; за бажанням ви можете вибрати щось більш описове.)
Більшість функцій модуля є у версії для Lua і у версії для #invoke. Можна використовувати функції #invoke з іншими модулями Lua, але використання функції Lua має перевагу в тому, що вам не потрібно отримувати доступ до Lua frame object. Функціям Lua передує _
, тоді як #invoke функцій немає.
random
[ред. код]{{#invoke:math|random}} {{#invoke:math|random|max_value}} {{#invoke:math|random|min_value|max_value}}
mm._random()
mm._random(max_value)
mm._random(min_value, max_value)
Генерує випадкове число.
- Якщо аргументи не вказані, то згенероване число більше або дорівнює 0 і менше 1.
- Якщо один з аргументів наданий, генерується ціле число від 1 до заданого аргументу. Аргумент повинен бути цілим додатнім числом.
- Якщо надані обидва аргументи, генерується ціле число між першим і другим аргументом. Обидва аргументи повинні бути цілими, але можуть бути і від'ємними.
Функція не працюватиме належним чином для чисел менше -2^32 і більше, ніж 2^32 - 1 (може змінюватися в залежності від обладнання). Якщо вам потрібно використовувати цифри за поза цим діапазоном, рекомендується використовувати en:Module:Random.
order
[ред. код]{{#invoke:math|order|n}}
mm._order(n)
Визначає порядок величини числа.
precision
[ред. код]{{#invoke:math|precision|n}} {{#invoke:math|precision|x=n}}
mm._precision(number_string)
Визначає точність числа. Наприклад, для "4" поверне "0", для "4.567" поверне "3", і для "100" поверне "-2".
Функція намагається проаналізувати строкове подання числа, і виявляє, чи використовує число у експоненціальному записі. З цієї причини коли викликається з Lua, дуже великі або дуже точні цифри, вони повинні відразу надходити як рядки задля отримання точного результату. Якщо вони вводяться як числа, інтерпретатор Lua зміниться їх експоненціальним записом і ця функція поверне точний експоненціальний запис, а не розмір початкового числа. Це не проблема, коли число викликається з #invoke, завдяки участі #invoke все подається в строковому форматі.
max
[ред. код]{{#invoke:math|max|v1|v2|v3|...}}
mm._max(v1, v2, v3, ...)
Повертає максимальне значення із вказаних значень. Значення, які не можуть бути перетворені в числа, ігноруються.
min
[ред. код]{{#invoke:math|min|v1|v2|v3|...}}
mm._min(v1, v2, v3, ...)
Повертає мінімальне значення із вказаних значень. Значення, які не можуть бути перетворені в числа, ігноруються.
average
[ред. код]{{#invoke:math|average|v1|v2|v3|...}}
mm._average(v1, v2, v3, ...)
Повертає середнє значення із вказаних. (Точніше, це значення відповідає середньому арифметичному.) Значення, які не можуть бути перетворені в числа, ігноруються.
round
[ред. код]{{#invoke:math|round|value|precision}} {{#invoke:math|round|value=value|precision=precision}}
mm._round(value, precision)
Округлює число до заданої точності.
mod
[ред. код]{{#invoke:math|mod|x|y}}
mm._mod(x, y)
Отримує x
по модулю y
, або залишок після x
поділеного на y
. Це працює належним чином для цілих чисел до 2^53; для більших чисел оператор за модулем Lua може повертати хибне значення. Дана функція вирішує цю проблему повертаючи 0
якщо по модулю оператору модуля Lua дається значення, яке становить менше 0 або більше y
.
gcd
[ред. код]{{#invoke:math|gcd|v1|v2|...}}
mm._gcd(v1, v2, ...)
Знаходить найбільший спільний дільник із встановленого значення. Значення, які не можуть бути перетворені в числа, ігноруються.
precision_format
[ред. код]{{#invoke:math|precision_format|value_string|precision}}
mm._precision_format(value_string, precision)
Заокруглення числа із зазначеною точністю і форматом відповідно до правил спочатку використовувалися для {{Rnd}}. Видається рядком.
cleanNumber
[ред. код]local number, number_string = mm._cleanNumber(number_string)
Допоміжна функція, яка може бути викликана з інших модулів Lua, але не від #invoke. Вона приймає рядкове або числове значення в якості вхідних даних, і, якщо значення може бути перетворено в число, cleanNumber повертає число і рядок цифр. Якщо значення не може бути перетворено в число, cleanNumber повертає nil, nil
.
Це сторінка документації для Модуль:Math