Tags:
create new tag
view all tags
---+ Parameterized Variables (Macros) %STARTINCLUDE% It is possible to pass parameters to TWiki variables. This is called a macro in a programming language. To define a parameterized variable, set a variable that contains other variables, such as: <verbatim> * Set EXAMPLE = Example variable using %DEFAULT%, %PARAM1% and %PARAM2% * Set DEMO = Demo using %DEFAULT{ default="(undefined)" }%, %PARAM1{ default="(undefined)" }% and %PARAM2{ default="(undefined)" }% </verbatim> A special =%<nop>DEFAULT%= variable denotes the default (nameless) parameter of the calling variable. Variables optionally may list a =default="..."= parameter that gets used in case the calling variable does not specify that parameter. To use a parameterized variable (or call a macro), add parameters within the curly brackets, such as: <verbatim> * %EXAMPLE{ "foo" PARAM1="bar" PARAM2="baz" }% * %DEMO{ "demo" PARAM2="parameter 2" }% -- note that PARAM1 is missing </verbatim> which resolves to: * %EXAMPLE{ "foo" PARAM1="bar" PARAM2="baz" }% * %DEMO{ "demo" PARAM2="parameter 2" }% -- note that PARAM1 is missing Parameters in the variable definition are expanded using the following sequence: 1. Parameter from variable call. In above example, =%<nop>PARAM1%= gets expanded to =bar=. 2. Session variable and preferences settings ---++!! Example *Define variables:* <verbatim> * Set DRINK = red wine * Set FAVORITE = My %DEFAULT{default="favorite"}% dish is %DISH{default="steak"}%, my %DEFAULT{default="favorite"}% drink is %DRINK%. </verbatim> %T% The default can be defined with a default parameter (=%<nop>DISH{default="steak"}%=), or as a preferences setting (=Set DRINK = ...=). *Use Variables:* <verbatim> %FAVORITE{ DISH="Sushi" DRINK="Sake" }% </verbatim> Returns: %BR% %FAVORITE{ DISH="Sushi" DRINK="Sake" }% <verbatim> %FAVORITE{}% </verbatim> Returns: %BR% %FAVORITE{}% <verbatim> %FAVORITE{ "preferred" }% </verbatim> Returns: %BR% %FAVORITE{ "preferred" }% %STOPINCLUDE% __Related:__ TWikiVariables, IncludeTopicsAndWebPages
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r1
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r1 - 2011-03-27
-
TWikiContributor
Home
https://twiki.esc.auckland.ac.nz/pub/Main/WebHome/menu-down
.
Site map
Forum web
Main web
NDSG web
ORUA web
OpsRes web
Sandbox web
TWiki web
TWiki Web
https://twiki.esc.auckland.ac.nz/pub/Main/WebHome/menu-down
.
User registration
Users
Groups
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
P
View
https://twiki.esc.auckland.ac.nz/pub/Main/WebHome/menu-down
.
Raw View
Print version
Find backlinks
History
More topic actions
Edit
https://twiki.esc.auckland.ac.nz/pub/Main/WebHome/menu-down
.
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
User Reference
https://twiki.esc.auckland.ac.nz/pub/Main/WebHome/menu-down
.
ATasteOfTWiki
TextFormattingRules
TWikiVariables
FormattedSearch
QuerySearch
TWikiDocGraphics
TWikiSkinBrowser
InstalledPlugins
Admin Maintenance
https://twiki.esc.auckland.ac.nz/pub/Main/WebHome/menu-down
.
Reference Manual
InterWikis
ManagingUsers
ManagingWebs
TWikiSiteTools
TWikiPreferences
WebPreferences
Categories
https://twiki.esc.auckland.ac.nz/pub/Main/WebHome/menu-down
.
Admin Documentation
Admin Tools
Developer Doc
User Documentation
User Tools
Account
Log In
E
dit
A
ttach
Copyright © 1999-2026 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback
Note:
Please contribute updates to this topic on TWiki.org at
TWiki:TWiki.ParameterizedVariables
.