Detta är dokumentationssidan för Modul:Sandlådan/Exklamation/Matematik

Användning av andra Lua-moduler

redigera

För att använda modulen från normala wikisidor, behövs ingen speciell förberedelse. Om du använder modulen från en annan Lua-modul, måste du först lägga in denna kod:

local mm = require('Module:Math')

(Variabeln mm står för Modul:Matematik, du kan välja något mer beskrivande om du vill.)

De flesta funktionerna i modulen har en version för Lua och en version för #invoke. Det är möjligt att använda #invoke-funktioner från andra moduler, men med hjälp av Luafunktionerna har du fördelen att inte behöva komma åt ett Lua-ramobjekt. Luafunktioner föregås av _ , medan #invoke-funktioner inte gör det.

{{#invoke:Sandlådan/Exklamation/Matematik|slump}}
{{#invoke:Sandlådan/Exklamation/Matematik|slump|max_value}}
{{#invoke:Sandlådan/Exklamation/Matematik|slump|min_value|max_value}}
mm._random()
mm._random(max_value)
mm._random(min_value, max_value)

Genererar ett slumptal.

  • Om inga argument anges, är utvärdet större än eller lika med 0 och mindre än 1.
  • Om ett argument ges, är utvärdet ett heltal mellan 1 och det argumentet. Argumentet måste vara ett positivt heltal.
  • Om två argument ges, är utvärdet ett heltal mellan det första och det andra argumentet. Båda argumenten måste vara heltal, men kan vara negativa.

Funktionen kommer inte att fungera korrekt för tal mindre än -2^32 och större än 2^32 - 1 (även om detta kan variera beroende på maskinvara). Om du behöver använda tal utanför detta intervall, använd Modul:Sandlådan/Exklamation/Slump.

ordning

redigera
{{#invoke:Sandlådan/Exklamation/Matematik/Matematik|ordning|n}}
mm._order(n)

Bestämmer magnitudordningen för ett tal.

precision

redigera
{{#invoke:Sandlådan/Exklamation/Matematik|precision|n}}
{{#invoke:Sandlådan/Exklamation/Matematik|precision|x=n}}
mm._precision(number_string)

Bestämmer precisionen hos ett tal. Till exempel för "4" den ger "0", för "4,567" den ger "3", och för "100" kommer den att returnera "-2".

Funktionen försöker tolka strängbeteckning för talet, och detekterar om talet använder E-notation. Därför – när den anropas från Lua – bör mycket stora eller mycket exakta tal vara direkt invärde som strängar för att få korrekta resultat. Om de är invärde som tal kommer Luatolken ändra dem till E-notation och denna funktion returnerar precisionen av E-notation snarare än för det ursprungliga talet. Detta är inte ett problem när talet anropas från #invoke, eftersom alla invärden från #invoke är i strängformat.

{{#invoke:Sandlådan/Exklamation/Matematik|max|v1|v2|v3|...}}
mm._max(v1, v2, v3, ...)

Returnerar maximivärdet från de angivna värdena. Värden som inte kan konverteras till tal ignoreras.

{{#invoke:Sandlådan/Exklamation/Matematik|min|v1|v2|v3|...}}
mm._min(v1, v2, v3, ...)

Returnerar minivärdet från de angivna värdena. Värden som inte kan konverteras till tal ignoreras.

{{#invoke:Sandlådan/Exklamation/Matematik|medium|v1|v2|v3|...}}
mm._average(v1, v2, v3, ...)

Returnerar mediumet (det vill säga medelvärdet, av tekniska skäl kan inte Å, Ä och Ö användas) av de värden som anges. (Mer exakt är det värde som returneras det aritmetiska medelvärdet.) Värden som inte kan konverteras till tal ignoreras.

avrunda

redigera
{{#invoke:Sandlådan/Exklamation/Matematik|avrunda|värde|precision}}
{{#invoke:Sandlådan/Exklamation/Matematik|avrunda|value=värde|precision=precision}}
mm._avrunda(value, precision)

Avrundar ett tal till specificerad precision.

{{#invoke:Sandlådan/Exklamation/Matematik|round|x|y}}
mm._round(x, y)

Gets x modulo y, or the remainder after x has been divided by y. This is accurate for integers up to 2^53; for larger integers Lua's modulo operator may return an erroneous value. This function deals with this problem by returning 0 if the modulo given by Lua's modulo operator is less than 0 or greater than y.

{{#invoke:Sandlådan/Exklamation/Matematik|gcd|v1|v2|...}}
mm._gcd(v1, v2, ...)

Hittar den största gemensamma delaren av de angivna värdena. Värden som inte kan konverteras till tal ignoreras.

precision_format

redigera
{{#invoke:Sandlådan/Exklamation/Matematik|precision_format|value_string|precision}}
mm._precision_format(value_string, precision)

Avrundar ett tal till specificerad precision och format enligt regler som ursprungligen användes för {{Rnd}}. Utvärdet är en sträng.

rensaTal

redigera
local number, number_string = mm._rensaTal(number_string)

En hjälpfunktion som kan anropas från andra Lua-moduler, men inte från #invoke. Den tar en sträng eller ett numeriskt värde som invärde, och om värdet kan konverteras till ett tal, returnerar funktionen talet och talsträngen. Om värdet inte kan konverteras till ett tal, returneras nil, nil.