Wikipedia:Lua/Modul/Expr/de

Vorlagenprogrammierung Diskussionen Lua Test Unterseiten
Modul Deutsch English

Modul: Dokumentation
Weiterleitung der Diskussionsseite fehlt

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

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:
    • minus – Minuszeichen im Ergebnis; siehe unten
    • zeroBlank=1 – Null als leeren Wert darstellen[1]
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

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

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)

Werkeln

Eine Testseite illustriert praktische Beispiele.

Funktionen für Lua-Module

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 oben
atable 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

Werkeln

Allgemeine Bibliothek; nicht eingegrenzt.

Abhängigkeiten

Werkeln

Keine.

Anmerkungen

Werkeln
  1. Der einzig zugesicherte Wert ist 1 für „ja, wahr“. Jede Angabe des Parameters hat zwar die gleiche Wirkung, ist aber unerwünscht.
  2. 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

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

Siehe auch

Werkeln