Vorlage:NUMBEROFCARDS: Unterschied zwischen den Versionen
WiMu (Diskussion | Beiträge) K |
WiMu (Diskussion | Beiträge) K (so, mal gespannt ...) |
||
| Zeile 1: | Zeile 1: | ||
| − | {{#expr:{{#dpl: | + | <!-- hier wird der Parameter definiert, der überprüft werden soll |
| + | -- | ||
| + | -->{{#vardefine:matchparameter|{{lc:{{#explode:{{{match|}}}|:|0}}}}}}<!-- | ||
| + | -- | ||
| + | -- und hier der Wert, den der Parameter haben muss | ||
| + | -- | ||
| + | -->{{#vardefine:matchvalue|{{lc:{{#explode:{{{match|}}}|:|1}}}}}}<!-- | ||
| + | -- | ||
| + | -- Das ergibt dann folgenden regulären Ausdruck | ||
| + | -- | ||
| + | -->{{#vardefine:includematch|{{#if:{{{match|}}}|/\¦\s*{{#var:matchparameter}}\s*=\s*{{#var:matchvalue}}\s*\n/}}}}<!-- | ||
| + | -- | ||
| + | -- und jetzt das Ganze für das nomatch-Gedöhnse | ||
| + | -- | ||
| + | -->{{#vardefine:nomatchparameter|{{lc:{{#explode:{{{nomatch|}}}|:|0}}}}}}<!-- | ||
| + | -- | ||
| + | -- und hier der Wert, den der Parameter haben muss | ||
| + | -- | ||
| + | -->{{#vardefine:nomatchvalue|{{lc:{{#explode:{{{nomatch|}}}|:|1}}}}}}<!-- | ||
| + | -- | ||
| + | -- Das ergibt dann folgenden regulären Ausdruck | ||
| + | -- | ||
| + | -->{{#vardefine:noincludematch|{{#if:{{{nomatch|}}}|/\¦\s*{{#var:nomatchparameter}}\s*=\s*{{#var:nomatchvalue}}\s*\n/}}}}<!-- | ||
| + | -- | ||
| + | -- Das wir jetzt in die Datenbank und das Ergebnis in eine Variable | ||
| + | -- | ||
| + | -->{{#vardefine:number|{{#expr:{{#dpl: | ||
| + | |debug=0 | ||
| + | |noresultsheader=0 | ||
|mode=userformat | |mode=userformat | ||
|namespace=Projekt | |namespace=Projekt | ||
|titlematch=Ka-Mel-Oh!/Datenbank% | |titlematch=Ka-Mel-Oh!/Datenbank% | ||
| + | |includematch={{#var:includematch}} | ||
| + | |includenotmatch={{#var:noincludematch}} | ||
|include={Ka-Mel-Oh}!/NUMBEROFCARDS | |include={Ka-Mel-Oh}!/NUMBEROFCARDS | ||
| − | }}}}<noinclude> | + | }}}}}}<!-- |
| + | -- | ||
| + | -- Zum Abschluss schauen wir, ob unser Ergebnis numerisch ist | ||
| + | -- | ||
| + | -->{{#if:{{IstZahl|{{#var:number}}}}|{{#var:number}}|<span style="color:red; font-weight:bold;">Da ist wohl was schief gelaufen</span>}}<noinclude> | ||
---- | ---- | ||
| − | |||
| − | [[Kategorie:Vorlagen für Ka-Mel-Oh!]]</noinclude> | + | <div class="hs-box" style="background-color:ivory;border:1px solid #ffa500; font-size:1; padding:-5px;"> |
| + | |||
| + | Die Vorlage gibt die Anzahl an [[Projekt:Ka-Mel-Oh!|Ka-Mel-Oh!]]-Spielkarten zurück, die aktuell in den [[Projekt:Ka-Mel-Oh!/Datenbank|Datenbanken]] enthalten sind. Die Suche lässt sich mit den zwei Variablen <code>'''<nowiki>{{{match}}}</nowiki>'''</code> und <code>'''<nowiki>{{{nomatch}}}</nowiki>'''</code> auf Karten eingrenzen, die einen bestimmten Parameter mit einem bestimmten Wert enthalten. Die Syntax ist <code><nowiki>{{NUMBEROFCARDS|match =</nowiki> '''Parametername:Wert'''}}</code> bzw. <code><nowiki>{{NUMBEROFCARDS|nomatch =</nowiki> '''Parametername:Wert'''}}</code> (Die Kombination aus <code>'''<nowiki>{{{match}}}</nowiki>'''</code> und <code>'''<nowiki>{{{nomatch}}}</nowiki>'''</code> ist möglich). | ||
| + | |||
| + | Z.B. ergibt der Aufruf <code><nowiki>{{NUMBEROFCARDS|match = typ:item}}</nowiki></code> die aktuelle Anzahl der Item-Karten (Achtung: ohne Fusions- und Mutations-Items!), nämlich {{NUMBEROFCARDS|match = typ:item}}, der Aufruf <code><nowiki>{{NUMBEROFCARDS|nomatch = handicap:sonder}}</nowiki></code> die Anzahl aller regulären Karten ohne Sonderkarten, nämlich {{NUMBEROFCARDS|nomatch = handicap:sonder}} und der Aufruf <code><nowiki>{{NUMBEROFCARDS|match = typ:item|nomatch = handicap:sonder}}</nowiki></code> die Anzahl aller regulären Item-Karten, nämlich {{NUMBEROFCARDS|match = typ:item|nomatch = handicap:sonder}} <small>zumindest würde die Vorlage die passenden Werte zurückgeben, wenn die Datenbanken schon fertig wären.</small>. | ||
| + | |||
| + | Eignet sich damit prima zum [[Projekt:Ka-Mel-Oh!/Häufigkeiten|Schwanzlängenvergleich]] (<code><nowiki>{{NUMBEROFCARDS|match = autor:Dein Kamelname}}</nowiki></code>). | ||
| + | |||
| + | Man kann der Vorlage auch reguläre Ausdrücke übergeben (Perl-Syntax), aber damit kann man ganz schön viel kaputt machen, wenn man sich nicht damit auskennt (doofe Fehlermeldungen und so). Grundsätzlich muss Wiki ziemlich rumrechnen (was [[Kamel:MediaWiki default|er/sie]] gar nicht mag), und darum sollte man das Ding vielleicht etwas sparsamer einsetzen, als ich das hier gerade tue ... | ||
| + | </div>[[Kategorie:Vorlagen für Ka-Mel-Oh!]]</noinclude> | ||
Version vom 12. Februar 2009, 20:59 Uhr
Fehler im Ausdruck: Nicht erkanntes Satzzeichen „[“
Die Vorlage gibt die Anzahl an Ka-Mel-Oh!-Spielkarten zurück, die aktuell in den Datenbanken enthalten sind. Die Suche lässt sich mit den zwei Variablen {{{match}}} und {{{nomatch}}} auf Karten eingrenzen, die einen bestimmten Parameter mit einem bestimmten Wert enthalten. Die Syntax ist {{NUMBEROFCARDS|match = Parametername:Wert}} bzw. {{NUMBEROFCARDS|nomatch = Parametername:Wert}} (Die Kombination aus {{{match}}} und {{{nomatch}}} ist möglich).
Z.B. ergibt der Aufruf {{NUMBEROFCARDS|match = typ:item}} die aktuelle Anzahl der Item-Karten (Achtung: ohne Fusions- und Mutations-Items!), nämlich Fehler im Ausdruck: Nicht erkanntes Satzzeichen „[“, der Aufruf {{NUMBEROFCARDS|nomatch = handicap:sonder}} die Anzahl aller regulären Karten ohne Sonderkarten, nämlich Fehler im Ausdruck: Nicht erkanntes Satzzeichen „[“ und der Aufruf {{NUMBEROFCARDS|match = typ:item|nomatch = handicap:sonder}} die Anzahl aller regulären Item-Karten, nämlich Fehler im Ausdruck: Nicht erkanntes Satzzeichen „[“ zumindest würde die Vorlage die passenden Werte zurückgeben, wenn die Datenbanken schon fertig wären..
Eignet sich damit prima zum Schwanzlängenvergleich ({{NUMBEROFCARDS|match = autor:Dein Kamelname}}).
Man kann der Vorlage auch reguläre Ausdrücke übergeben (Perl-Syntax), aber damit kann man ganz schön viel kaputt machen, wenn man sich nicht damit auskennt (doofe Fehlermeldungen und so). Grundsätzlich muss Wiki ziemlich rumrechnen (was er/sie gar nicht mag), und darum sollte man das Ding vielleicht etwas sparsamer einsetzen, als ich das hier gerade tue ...