Vikipedio:Lua/Moduloj/Expr/eo
Ŝablona programado | Diskutoj | Lua | Testoj | Subpaĝoj | |||
---|---|---|---|---|---|---|---|
Modulo | Esperanto | English
|
Modulo: | Dokumentado |
Expr
– Modulo kun funkcioj por esprimoj aldone al tiuj de la parsilaj funkcioj #expr
ofertataj ebloj.
La funkciorezultoj estas destinitaj por tio, esti uzataj kiel termoj ene de aliaj kalkuloj. Ili tial ne havas eblon komuniki erarojn per mesaĝoj aŭ zorgigaj kategorioj.
Funkcioj por ŝablonoj[redakti fonton]
La normaj funkcioj adresiĝas al #invoke
kaj ĝiaj parametroj. Whitespace (do spacoj aŭ linisaltoj) antaŭ kaj post la valoroj estas ignorataj.
- average
- Kalkuli averaĝon
- 1 – Unua nombro
- 2 – Dua nombro
- parse – (nedeviga) Zahlenformat de la enigoj
- 3 – (nedeviga) Pli nombro
- 4 ktp. – (nedeviga) Pliaj nombroj, beliebig viele
- La averaĝo estas ĉiam minimume
0
kaj nevalidaj valoroj estas ignorataj. - base62
- Kodigo kaj malkodigo laŭ Base62.
- 1 – prilaborota valoro
- 2 – (nedeviga)
D2B
por dekuma-al-base62; defaŭlto: base62-al-dekuma
- crossTotal
- Kalkuli krucsumon
- 1 – Pozitiva entjero, nur ciferoj (minusa signo kaj postkomaj ciferoj estas ignorataj)
0
se nevalida.- decimal2minsec
- Konverti koordinatan valoron el decimala prezento al gradoj-minutoj-sekundoj
- 1 – Dekuma nombro
- 2 – (nedeviga) Nombro de la postkomaj ciferoj de la sekundoj (defaŭlto: neniu)
- parse – (nedeviga) Zahlenformat de la dekuma nombro
- Rezulto: Protektita je linisalto
<span>
-elemento kun grado, minutoj, sekundoj, alie0
- figure
- Kontrolu nombron je valideco kaj eventuale konverti
- 1 – Nombro
- parse – (nedeviga) Zahlenformat
- expr – (nedeviga)
1
– Permesu kalkulesprimon laŭ la reguloj de la analiza funkcio#expr
- set – (nedeviga) Nombra gamo; Kondiĉo devas esti plenumita
R
– (defaŭlto) Reala nombro (do ajna)R+
– Nombro pli granda ol aŭ egala al nul; do ne-negativaR-
– Nombro pli malgranda aŭ egala al nu; do ne-pozitivaZ
– Entjero (laŭvalore)N
– Natura nombro inklude nulo; do ne-negativaZ+
– identaN
Z-
– Entjero pli malgranda aŭ egala al nul; do ne-pozitiva
- nenio se nevalida
- max
- Determini maksimumon el aro de nombroj.
- Ĉiuj nenomitaj parametroj estas uzataj por la kalkulo.
- Parametraj valoroj povas esti malplenaj aŭ enhavi esprimojn, kiuj estas analizeblaj per
#expr
. - Estas akceptata kaj la kutima minusa anstataŭa signo Bindestrich-Minus (U+002D) kaj la tipografia minus-signo (U+2212) (vidu malsupre).
- Opcioj eblas en nomitaj parametroj:
- Parametraj valoroj povas esti malplenaj aŭ enhavi esprimojn, kiuj estas analizeblaj per
- Der Rückgabewert ist eine leere Zeichenkette („nichts“), wenn kein Parameterwert oder nur leere Werte angegeben wurden; auch eine Fehlermeldung für ungültige
#expr
kann auftreten. Ansonsten die ermittelte Zahl in der spezifizierten Darstellung. - min
- Minimum ermitteln; ansonsten genau analog max.
- minsec2decimal
- Koordinatenwert von Grad-Minuten-Sekunden in Dezimaldarstellung umrechnen
- 1 – Grad
- 2 – (optional) Minuten
- 3 – (optional) Sekunden
- 4 – (optional) Buchstabe für Himmelsrichtung
- parse – (optional) Zahlenformat der Eingaben
0
wenn ungültig.- modulo
- Modulo
- 1 – Zahlenwert (Dividend)
- 2 – Ganzwert (Basis, Divisor, Bezugswert) Null unzulässig
- 3 – (optional) Zahlenformat der Eingaben
0
wenn ungültig.- percent
- Prozentsatz aus Prozentwert und Grundwert berechnen
- 1 – Anteil
- 2 – Grundwert (Basis, Bezugswert, 100 %) Null unzulässig
- 3 – (optional) Zahl der Nachkommastellen (Vorgabe: keine)
- 4 – (optional) schließende Nullen in den Nachkommastellen beibehalten
- parse – (optional) Zahlenformat der Eingaben
- low – (optional) Ergebnis-Format,
1
für „Computer-Format“ (Vorgabe: lokales Wiki).
- Das Ergebnis schließt mit einem
%
ab und der Zahlenwert kann deshalb nicht selbst formatiert werden. 0
wenn ungültig.- Ramanujan
- random
- (Pseudo-)Zufallszahl (ganzzahlig)
- 1 – (optional) Basis, Normierung, Anzahl der Werte (Vorgabe:
100
), ganzzahlig >1.
- 1 – (optional) Basis, Normierung, Anzahl der Werte (Vorgabe:
- Ergebnisse sind ganzzahlig, beginnend bei einschließlich Null, größter Wert eins weniger als Anzahl.
- Jede Einbindung in der Seite liefert ein unabhängiges und deshalb meist unterschiedliches Ergebnis. Bei drei möglichen Werten und vier Einbindungen werden Wiederholungen allerdings unvermeidlich sein.
- seed-Werte zur Sicherstellung unterschiedlicher Werte innerhalb der Seite sind nicht erforderlich.
- sum
- Summe berechnen
- 1 – Erste Zahl
- 2 – Zweite Zahl
- parse – (optional) Zahlenformat der Eingaben
- 3 – (optional) Weitere Zahl
- 4 usw. – (optional) Weitere Zahlen, beliebig viele
- Die Summe ist immer mindestens
0
und ungültige Werte werden ignoriert. - failsafe
- Versionsmanagement
Rekta enplekto en ŝablonoj[redakti fonton]
- TemplateAverage
- Kiel average, sed uzas ĉiujn parametrojn de la ĉirkaŭanta ŝablono.
- TemplateBooland
1
, se ĉiuj parametroj estas „io“, alie „nenio“.- Uzu ĉiujn parametrojn de la ĉirkaŭanta ŝablono.
- TemplateBoolor
1
, se unu parametro estas „io“, alie „nenio“.- Uzu ĉiujn parametrojn de la ĉirkaŭanta ŝablono.
- TemplateMax
- Kiel max, sed speciale por Ŝablono:Max – uzas ĉiujn parametrojn de ĉirkaŭanta ŝablono.
- TemplateMin
- Kiel min, sed speciale por Ŝablono:Min – uzas ĉiujn parametrojn de ĉirkaŭanta ŝablono.
- TemplateSum
- Kiel sum, sed uzas ĉiujn parametrojn de la ĉirkaŭanta ŝablono.
Unicode-Minuszeichen[redakti fonton]
In den Eingabewerten kann sowohl das ASCII-Zeichen -
auf der Tastatur (U+002D) als auch das typografische Minuszeichen − (U+2212) verwendet werden. Mit dem Minuszeichen wird wie folgt verfahren:
- Enthält einer der Eingabewerte ein Unicode-Minus U+2212, wird dies auch im Ergebnis benutzt.
- Option
minus=1
Ergebnis immer mit Unicode-Minus darstellen.[2] - Option
minus=-
Ergebnis immer mit ASCII-Bindestrich-Minus darstellen.
Ein Ergebnis mit Unicode-Minuszeichen ist zwangsläufig immer eine Zeichenkette.
Zahlenformat der Eingabe[redakti fonton]
Beispiele (Testseite)[redakti fonton]
Eine Testseite illustriert praktische Beispiele.
Funkcioj por Lua-moduloj[redakti fonton]
Multaj el la supre dokumentitaj funkcioj ankaŭ povas esti enplektataj per require()
en aliajn modulojn:
local lucky, Expr = pcall( require, "Module:Expr" )
if type( Expr ) == "table" then
Expr = Expr()
else
-- Fehlerfall; Expr enthält Fehlermeldung
return "<span class='error'>" .. Expr .. "</span>"
end
Poste uzeblas:
- Expr.average( array, ask )
-
array
– sekvenca table, kun string aŭ numberask
– Zahlenformat de la enigoj
- Ergebnis: number, minimume
0
- Expr.base62( adjust )
-
adjust
– string aŭ number- number – kodigu al base62 (string)
- string – dekodigu al number
- Expr.crossTotal( amount )
-
amount
– string aŭ number
- Rezulto: number, kun Quersumme de la pozitiva entjera parto, minimume
0
- Expr.decimal2minsec( amount, align, ask )
-
amount
– Decimala nombro, string aŭ numberalign
– Nombro de la postkomaj ciferoj de la sekundoj, string aŭ number (Defaŭlto:0
)ask
– Zahlenformat de la decimala nombro
- Rezulto: mw.html-objekto en sukcesa kazo, string
0
alie - Expr.figure( amount, ask, advance, area )
-
amount
– Zahl, string aŭ numberask
– Zahlenformatadvance
– true: esprimojarea
– Zahlenbereich
- Rezulto: number, aŭ
false
se nevalida - Expr.minsec2decimal( aDeg, aMin, aSec, alter, ask )
-
aDeg
– Grada nomro, string aŭ numberaMin
– Minuta nombro, string aŭ number aŭ nenioaSec
– Sekunda nombro, string aŭ number aŭ nenioalter
– Litero por ĉieldirekto, aŭ nenioask
– Zahlenformat de la enigoj
- Rezulto: number,
0
se nevalida - Expr.modulo( amount, adjust, ask )
-
amount
– Nombro, string aŭ numberadjust
– Bazo, string aŭ numberask
– Zahlenformat de la enigoj
- Rezulto: number,
0
se nevalida - Expr.percent( amount, all, align, after, ask, allow, frame )
-
amount
– Parto, string aŭ numberall
– Bazo (Bezugswert), string aŭ numberalign
– Nombro de la postkomaj ciferoj, string aŭ number (Defaŭlto: neniu)after
–true
, um schließende Nullen in den Nachkommastellen beizubehaltenask
– Zahlenformat der Eingabenallow
– Ergebnis-Format,true
, für „Computer-Format“ (Vorgabe: lokales Wiki).frame
– Objekt, falls zur Hand
- Das Ergebnis schließt mit einem
%
ab und der Zahlenwert kann deshalb nicht selbst formatiert werden. - number
0
wenn ungültig - Expr.sum( array, ask )
-
array
– sequence table, mit string oder numberask
– Zahlenformat der Eingaben
- Zwei Ergebnisse:
- number, mit Summe, mindestens
0
- number, mit Anzahl gültiger Summanden, mindestens
0
- number, mit Summe, mindestens
- Expr.failsafe( atleast )
- (wie oben)
Als Rückgabewerte kommen number, Zeichenketten oder false
in Frage.
Verwendung[redakti fonton]
Allgemeine Bibliothek; nicht eingegrenzt.
- Vorlage:%
- Ŝablono:booland
- Ŝablono:boolor
- Vorlage:Dezimalgrad
- Vorlage:Grad
- Ŝablono:max
- Ŝablono:min
- Vorlage:modulo
- Vorlage:NurWennZahl
- Vorlage:Quersumme
- Vorlage:Zufallszahl
Dependeco[redakti fonton]
Neniu.
Anmerkungen[redakti fonton]
- ↑ La sola garantiita valoro estas
1
por „jes, vera“. Ĉiu specifo de la parametro havas la saman efikon, sed estas nedezirinda. - ↑ Der einzig zugesicherte Wert ist
1
für „Unicode-Minus“. Jede Angabe des Parameters außer mit dem Wert-
hat zwar die gleiche Wirkung, ist aber unerwünscht.
Implementierung in Vorbereitung[redakti fonton]
Die nachstehenden Funktionen sind teilweise bereits implementiert, jedoch noch nicht ausgetestet und nicht freigegeben.
- digitAt
- Ziffer aus einer Ganzzahl extrahieren
- Vorlage:Ziffer
- digitsAt
- Ziffern aus einer Ganzzahl extrahieren
- Vorlage:Ziffern
- IstZahl
- Vorlage:IstZahl
- isInList
- Ist es in der Liste?
- Vorlage:In Liste