Extension:Variables/de

Variables is a very simple MediaWiki extension that allows you to define a variable on a page, use it later in that same page, change its value, possibly to a value given by an expression in terms of the old value, etc.

It's much like a template, only very lightweight and scoped to only a single page, so you can use many variables on a page without polluting the wiki with huge numbers of templates. Combine with the ParserFunctions extension for best results.

This dead simple extension was written by Rob Adams, and he has released it into the public domain. It was ported to MediaWiki version 1.8 by Hempel. It was ported to MediaWiki 1.10 by Rob Adams. #vardefineecho was added by Xiloynaha, #varexists and #var with an optional default value by Danwe.

#vardefine


Diese Zeile weist der Variable Name den Wert Wert zu. Wenn die Variable noch nicht existiert, wird sie hierdurch eingeführt.

#vardefineecho


Diese Zeile bewirkt das gleiches wie #vardefine, nur, dass der Wert direkt ausgegeben wird.

Den Wert einer Variable abfragen (#var)
Den Wert der Variable Name kann man ausgeben lassen durch die Zeile:

Wenn die Variable nicht definiert ist, wird nichts ausgegeben (keine Fehlermeldung).

Für den Fall einer undefinierten oder leeren Variable kann ein Alternativwert angegeben werden:

Dies ist gleichbedeutend mit:

aber wesentlich kürzer und eleganter.

Der Wert kann nun für Rechnungen etc. verwendet werden.

#varexists

 * returns 1 if the variable is already defined (also when the value is a void string). If the variable is not defined the return value is void.

Beispiele

 * Note that the ParserFunctions extension must also be installed to use #expr

Compute 2*a + b:

Add one to n:

Variablen und logische Parserfunktionen
This section only applies to MediaWiki versions below 1.12.

ParserFunctions
It must be noted that everything in conditional parser functions such as #ifexpr gets executed (though only one result gets displayed), regardless of the condition, see Help:Extension:ParserFunctions. This applies also to #vardefine. Thus:

first assigns b and then c (hence effectively just c) regardless of the condition, while

assigns only the applicable value.

Similarly

assigns b regardless of the condition, while

conditionally assigns value b to variable a (a dummy assignment of the value of a to a is done if the condition is not fulfilled).

Control Structure Functions
Another way around the aforementioned limitation is to use the Control Structure Functions extension, which allows one to delay the parsing of wiki markup through the use of character escape sequences. So, the first above example becomes this:

Alternatively, the Character Escapes extension can be used to automate the escape sequences:

The Control Structure Functions extension also has loop functions that support character escape sequences. The wiki markup:

produces the following:


 * 0
 * 1
 * 2

Installation
See: https://github.com/dbolser/MediaWiki-Extension-VariablesExtension

Or just download the following:
 * README
 * Variables.php
 * Variables.i18n.php

LocalSettings.php
Then add to the end of LocalSettings.php.

Siehe auch

 * Extension:DynamicFunctions/de
 * 7865 - Enable VariablesExtension on Wikimedia wikis (status: wontfix)
 * Extension:MyVariables/de - creates new variables in the MediaWiki sense.
 * Extension:Control Structure Functions/de - ParserFunctions extension rehashed with loop functionality added.
 * Extension:Loops/de
 * Extension:ArrayExtension/de - create an array and provide array functions (such as search, split, and sort) and set operations (such as intersect, union and diff).
 * Extension:HashTables/de - new parser functions for handling hash tables in MediaWiki.