Vorlage:IstZahl
Aus Kitakien
(neu) |
K (Gliederung, Rechtschreibung) |
||
Zeile 5: | Zeile 5: | ||
Diese Vorlage prüft, ob der übergebene Parameter numerisch ist (im Sinne der [[WP:VP|Vorlagenprogrammierung]] in der englischen Zahlenschreibweise, mit Punkt als Dezimaltrenner). Falls der Eingangsparameter numerisch ist, wird er unverändert zurückgegeben, im anderen Fall wird der leere Wert zurückgegeben (und keine Fehlermeldung, welche auch immer, ausgegeben). | Diese Vorlage prüft, ob der übergebene Parameter numerisch ist (im Sinne der [[WP:VP|Vorlagenprogrammierung]] in der englischen Zahlenschreibweise, mit Punkt als Dezimaltrenner). Falls der Eingangsparameter numerisch ist, wird er unverändert zurückgegeben, im anderen Fall wird der leere Wert zurückgegeben (und keine Fehlermeldung, welche auch immer, ausgegeben). | ||
- | Diese Vorlage soll nur in anderen Vorlagen verwendet werden | + | Diese Vorlage soll nur in anderen Vorlagen verwendet werden, um dort sinnvoll auf fehlerhafte Parameter reagieren zu können. |
<nowiki>{{</nowiki>#if: <nowiki>{{</nowiki> {{PAGENAME}}|''<expression>'' }} | ''<ist-zahl-text>'' | ''<sonst-text>'' }} | <nowiki>{{</nowiki>#if: <nowiki>{{</nowiki> {{PAGENAME}}|''<expression>'' }} | ''<ist-zahl-text>'' | ''<sonst-text>'' }} | ||
Beispiel: | Beispiel: | ||
Zeile 11: | Zeile 11: | ||
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. | 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. | ||
- | + | == Hintergrund == | |
- | Bisherige | + | 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“) | * es gibt verschiedene Fehlerfälle (etwa „Unexpected number“ oder „Unrecognised punctuation character“) | ||
* Fehlertexte können variable Teile enthalten (etwa den fehlerhaften Dezimaltrenner) | * Fehlertexte können variable Teile enthalten (etwa den fehlerhaften Dezimaltrenner) | ||
* Fehlertexte sind in Englisch. | * Fehlertexte sind in Englisch. | ||
- | * 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. | + | * 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. |
== Test == | == Test == |
Version vom 14:37, 7. Okt. 2007
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 er unverändert zurückgegeben, im anderen Fall wird 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|<expression> }} | <ist-zahl-text> | <sonst-text> }}
Beispiel:
{{#if: {{ IstZahl|{{{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.
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.
- 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.
Test
Testfälle für den Regressionstest unter Vorlage:IstZahl/Test.