Wikipedia:Lua/Modul/Expr/de
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
[Am Gwëntext werkeln]Die Standard-Funktionen richten sich an #invoke
und dessen Parameter. Whitespace (etwa Leerzeichen oder Zeilenumbrüche) vor und nach den Werten wird ignoriert.
- base62
- Kodierung und Dekodierung gemäß Base62.
- 1 – zu verarbeitender Wert
- 2 – (optional)
D2B
für Dezimal-in-Base62; Vorgabe: Base62-in-Dezimal
- 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 das übliche Minus-Ersatzzeichen Bindestrich-Minus (U+002D) wie auch das typografische Minuszeichen (U+2212) akzeptiert (siehe unten).
- 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
[Am Gwëntext werkeln]- 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-Minuszeichen
[Am Gwëntext werkeln]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.
Beispiele (Testseite)
[Am Gwëntext werkeln]Eine Testseite illustriert praktische Beispiele.
Funktionen für Lua-Module
[Am Gwëntext werkeln]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
[Am Gwëntext werkeln]Allgemeine Bibliothek; nicht eingegrenzt.
Abhängigkeiten
[Am Gwëntext werkeln]Keine.
Anmerkungen
[Am Gwëntext werkeln]- ↑ 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
[Am Gwëntext werkeln]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