Vorlage:IstZahl/Doku

Aus AnthroWiki
Version vom 28. Juli 2015, 15:15 Uhr von imported>Odyssee
Dokumentations-Unterseite Diese Seite ist die Dokumentations-Unterseite der Vorlage:IstZahl.
Diese Vorlage ist vielfach eingebunden. Wenn du die Auswirkungen genau kennst, kannst du sie bearbeiten. Meist ist es jedoch sinnvoll, Änderungswünsche erst auf Vorlage Diskussion:IstZahl/Doku abzustimmen.

Beschreibung

Diese Vorlage prüft, ob der übergebene Parameter numerisch ist (im Sinne der Vorlagenprogrammierung in der englischen Zahlenschreibweise, mit Punkt als Dezimaltrenner). Falls der Eingangsparameter numerisch ist, wird der Wert 1 (für true, wahr), im anderen Fall der leere Wert zurückgegeben (und keine Fehlermeldung, welche auch immer, ausgegeben).

Diese Vorlage soll nur in anderen Vorlagen verwendet werden, um dort sinnvoll auf fehlerhafte Parameter reagieren zu können.

{{#if: {{ IstZahl/Doku|<expression> }} | <ist-zahl-text> | <sonst-text> }}

Beispiel:

{{#if: {{ IstZahl/Doku|{{{1|}}} }} | {{Höhe|{{{1|}}}}} | {{{1|}}} }}

In diesem Beispiel wird der erste Parameter der aufrufenden Vorlage geprüft und falls es sich um eine Zahl handelt, in die Vorlage:Höhe weitergereicht, die einen numerischen Parameter erwartet, andernfalls wird der erste Parameter unverändert ausgegeben und ein Fehler vermieden. Natürlich kann die aufrufende Vorlage an dieser Stelle ihre spezifische Fehlermeldung ausgeben.

Parameter

{{IstZahl|<Zahl oder Ausdruck>|<Zahlraum>|<Rundung>}}
  • Erster Parameter: Die zu testende Zahl
  • Zweiter Parameter (optional): Test, ob übergebener Wert
    • leer oder R: eine Reelle Zahl ist
    • R+: eine nicht-negative Zahl ist
    • R-: eine nicht-positive Zahl ist
    • Z: eine Ganze Zahl ist
    • N oder Z+: eine Natürliche Zahl ist (inkl. 0)
    • Z-: eine nicht-positive Ganze Zahl ist
  • Dritter Parameter (optional): Test, ob der Wert auf eine bestimmte Weise gerundet wurde (siehe Hilfe:Vorlagenprogrammierung unter round)

Hintergrund

Bisherige Implementierungen haben bei Berechnungen in Vorlagen oft den Fehlertext abgefangen, der aus nicht numerischen Werten resultiert. Dies hat aber mehrere Nachteile:

  • es gibt verschiedene Fehlerfälle (etwa „Unexpected number“ oder „Unrecognised punctuation character“)
  • Fehlertexte können variable Teile enthalten (etwa den fehlerhaften Dezimaltrenner)
  • Fehlertexte sind in Englisch, seit neuesten Deutsch
  • Fehlertexte sind im Prinzip nirgendwo definiert. Sie sind (vermutlich) nicht Teil der offiziellen Schnittstellen und können sich daher im Prinzip mit jeder neuen Version der MediaWiki-Software ändern.


Die Programmierung dieser Vorlage wird demnächst umgestellt auf Lua.

Die Implementierung ist schon weit fortgeschritten, jedoch noch nicht ausgetestet.

Eingebunden wird das Modul:Expr. --PerfektesChaos 22:45, 27. Mai 2013 (CEST)


Dieser Artikel basiert (teilweise) auf dem Artikel Vorlage:IstZahl/Doku aus der freien Enzyklopädie Wikipedia und steht unter der Lizenz Creative Commons Attribution/Share Alike. In Wikipedia ist eine Liste der Autoren verfügbar.