Zum Inhalt springen

Wikipedia:Lua/Modul/Expr/de

Aus Wikipedia
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

[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:
    • 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

[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 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.

Allgemeine Bibliothek; nicht eingegrenzt.

Abhängigkeiten

[Am Gwëntext werkeln]

Keine.

  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

[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