Wikipedia:Lua/Modul/Expr/de
Erscheinungsbild
< Wikipedia:Lua | Modul
Vorlagenprogrammierung | Diskussionen | Lua | Test | Unterseiten | |||
---|---|---|---|---|---|---|---|
Modul | Deutsch | English
|
Modul: | Dokumentation |
Expr
– Modul mit Funktionen für Ausdrücke in Ergänzung zu den von der Parser-Funktion #expr
gebotenen Möglichkeiten.
Funktionen für Vorlagen
[Quelltext bearbeiten]Die Standard-Funktionen richten sich an #invoke
und dessen Parameter. Whitespace (etwa Leerzeichen oder Zeilenumbrüche) vor und nach den Werten wird ignoriert.
- max
- Maximum einer Menge von Zahlen ermitteln.
- Alle unbenannten Parameter werden zur Berechnung herangezogen.
- Parameterwerte können leer sein oder Ausdrücke enthalten, die sich mit
#expr
auswerten lassen. - Es wird sowohl ASCII-Minus U+002D als auch U+2212
−
akzeptiert. - Optionen sind in benannten Parametern möglich:
- Parameterwerte können leer sein oder Ausdrücke enthalten, die sich mit
- 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.
Direkteinbindung in Vorlagen
[Quelltext bearbeiten]- TemplateMax
- Wie max, jedoch speziell für Vorlage:Max – alle Parameter der umgebenden Vorlage verwenden.
- TemplateMin
- Wie min, jedoch speziell für Vorlage:Min – alle Parameter der umgebenden Vorlage verwenden.
Unicode-Minus
[Quelltext bearbeiten]Mit dem Minuszeichen wird wie folgt verfahren:
- In den Eingabewerten kann es alternativ verwendet werden.
- 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-Minus ist zwangsläufig immer eine Zeichenkette.
Beispiele (Testseite)
[Quelltext bearbeiten]Eine Testseite illustriert praktische Beispiele.
Funktionen für Lua-Module
[Quelltext bearbeiten]Alle oben dokumentierten Funktionen können auch über require()
in andere Module eingebunden werden:
local lucky, Expr = pcall( require, "Modul:Expr" )
if lucky then
Expr = Expr.Expr
else
-- Fehlerfall; Expr enthält Fehlermeldung
return "<span class='error'>" .. Expr .. "</span>"
end
Danach steht zur Verfügung:
- Expr( f, a )
f
– Zeichenkette mit dem Funktionsnamen, wie obena
– table mit den Parameterzuweisungen- Werte müssen nicht Zeichenketten sein, sondern können auch Zahlenwerte als number enthalten.
- Als Rückgabewerte kommen number, Zeichenketten oder
false
in Frage.
Verwendung
[Quelltext bearbeiten]Allgemeine Bibliothek; nicht eingegrenzt.
Abhängigkeiten
[Quelltext bearbeiten]Keine.
Anmerkungen
[Quelltext bearbeiten]- ↑ Der einzig zugesicherte Wert ist
1
für „ja, wahr“. Jede Angabe des Parameters hat zwar die gleiche Wirkung, ist aber unerwünscht. - ↑ 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
[Quelltext bearbeiten]Die nachstehenden Funktionen sind teilweise bereits implementiert, jedoch noch nicht ausgetestet und nicht freigegeben.
- average
- Durchschnitt
- crossTotal
- Quersumme
- Vorlage:Quersumme
- decimal2minsec
- Dezimalgrad in Grad, Minuten und Sekunden umrechnen
- Vorlage:Grad
- digitAt
- Ziffer aus einer Ganzzahl extrahieren
- Vorlage:Ziffer
- digitsAt
- Ziffern aus einer Ganzzahl extrahieren
- Vorlage:Ziffern
- isNumber
- Ist es eine Zahl?
- Vorlage:IstZahl
- isInList
- Ist es in der Liste?
- Vorlage:In Liste
- minsec2decimal
- Dezimalgrad aus Grad, Minuten und Sekunden berechnen
- Vorlage:Dezimalgrad
- modulo
- Modulo
- Vorlage:Modulo
- percent
- Prozentsatz aus Prozentwert und Grundwert berechnen
- Vorlage:%
- random
- Zufallszahl
- Vorlage:Zufallszahl
- roundSignificant
- Runden auf signifikante Stellen
- Vorlage:Siground / Vorlage:Siground/Berechnung / Vorlage:Siground/Format