Difference between revisions of "Template:Save"

From QBWiki
Jump to navigation Jump to search
(Created page with "{{#vardefine:save_i|1}}{{#while:|{{{{{#var:save_i}}|}}}|{{#vardefine:prev_{{{ {{#var:save_i}} }}}|{{#var:{{{ {{#var:save_i}} }}}}}}}{{#vardefine:save_i|{{#expr:{{#var:save_i}}...")
 
m
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{#vardefine:save_i|1}}{{#while:|{{{{{#var:save_i}}|}}}|{{#vardefine:prev_{{{ {{#var:save_i}} }}}|{{#var:{{{ {{#var:save_i}} }}}}}}}{{#vardefine:save_i|{{#expr:{{#var:save_i}}+1}}}}}}<noinclude>Given a list of variable names {x1, x2, x3, ...}, preserve the value of those variables in a new set of variables {prev_x1, prev_x2, prev_x3}.
+
<includeonly>{{#vardefine:save_i|1}}{{#while:|{{{{{#var:save_i}}|}}}|{{#vardefine:prev_{{{ {{#var:save_i}} }}}|{{#var:{{{ {{#var:save_i}} }}}}}}}{{#vardefine:save_i|{{#expr:{{#var:save_i}}+1}}}}}}</includeonly><noinclude>
 +
{{Template doc|
 +
Given a list of variable names {x1, x2, x3, ...}, preserve the value of those variables in a new set of variables {prev_x1, prev_x2, prev_x3}.
  
 
Use this template to prevent a template from affecting the variables of a page it is transcluded in.
 
Use this template to prevent a template from affecting the variables of a page it is transcluded in.
Line 8: Line 10:
  
 
Example:
 
Example:
{|class="wikitable"
+
<pre>
! Input
 
! Output
 
|-
 
|<pre>
 
 
{{#vardefine:x|1}}{{#vardefine:y|2}}{{#vardefine:z|blue}}
 
{{#vardefine:x|1}}{{#vardefine:y|2}}{{#vardefine:z|blue}}
 
{{Save|x|y|z}}
 
{{Save|x|y|z}}
 
{{#vardefine:x|1a}}{{#vardefine:y|2a}}{{#vardefine:z|red}}
 
{{#vardefine:x|1a}}{{#vardefine:y|2a}}{{#vardefine:z|red}}
{{#var:prev_x}}, {{#var:prev_y}}, {{#var:prev_z}}
+
{{#var:x}}, {{#var:y}}, {{#var:z}}
 +
{{Load|x|y|z}}
 +
{{#var:x}}, {{#var:y}}, {{#var:z}}
 
</pre>
 
</pre>
|
+
 
 
{{#vardefine:x|1}}{{#vardefine:y|2}}{{#vardefine:z|blue}}
 
{{#vardefine:x|1}}{{#vardefine:y|2}}{{#vardefine:z|blue}}
 
{{Save|x|y|z}}
 
{{Save|x|y|z}}
 
{{#vardefine:x|1a}}{{#vardefine:y|2a}}{{#vardefine:z|red}}
 
{{#vardefine:x|1a}}{{#vardefine:y|2a}}{{#vardefine:z|red}}
{{#var:prev_x}}, {{#var:prev_y}}, {{#var:prev_z}}
+
{{#var:x}}, {{#var:y}}, {{#var:z}}
|}
+
{{Load|x|y|z}}
</noinclude>
+
{{#var:x}}, {{#var:y}}, {{#var:z}}
 +
 
 +
}}</noinclude>

Latest revision as of 18:09, 14 December 2025

Template documentation

Given a list of variable names {x1, x2, x3, ...}, preserve the value of those variables in a new set of variables {prev_x1, prev_x2, prev_x3}.

Use this template to prevent a template from affecting the variables of a page it is transcluded in.

Who knows what will happen if you nest this.

Pair with Template:Load.

Example:

{{#vardefine:x|1}}{{#vardefine:y|2}}{{#vardefine:z|blue}}
{{Save|x|y|z}}
{{#vardefine:x|1a}}{{#vardefine:y|2a}}{{#vardefine:z|red}}
{{#var:x}}, {{#var:y}}, {{#var:z}}
{{Load|x|y|z}}
{{#var:x}}, {{#var:y}}, {{#var:z}}



1a, 2a, red

1, 2, blue