for (roll option): Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
m (Conversion script moved page for (roll option) to For (roll option) without leaving a redirect: Converting page title to first-letter uppercase)
m (Text replacement - "<source" to "<syntaxhighlight")
 
(3 intermediate revisions by 2 users not shown)
Line 6: Line 6:


|usage=
|usage=
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
[for(var, start, end): body]
[for(var, start, end): body]
</source>
</syntaxhighlight>
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
[for(var, start, end, stepsize): body]
[for(var, start, end, stepsize): body]
</source>
</syntaxhighlight>
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
[for(var, start, end, stepsize, separator): body]
[for(var, start, end, stepsize, separator): body]
</source>
</syntaxhighlight>
'''Parameters'''<br>
'''Parameters'''<br>
The {{code|var}} variable counts from {{code|start}} towards {{code|end}} during the loop, and the optional {{code|stepsize}} (default {{code|+1}}) is added to {{code|var}} at each iteration.  Note that in the standard incrementing usage with a {{code|stepsize}} of {{code|1}}, the {{code|body}} does not execute when {{code|var}} reaches {{code|end}}. <br>
The {{code|var}} variable counts from {{code|start}} towards {{code|end}} during the loop, and the optional {{code|stepsize}} (default {{code|+1}}) is added to {{code|var}} at each iteration.  Note that in the standard incrementing usage with a {{code|stepsize}} of {{code|1}}, the {{code|body}} does not execute when {{code|var}} reaches {{code|end}}. <br>
Line 22: Line 22:


|examples=
|examples=
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
[for(i,0,10): "i is now " + i]
[for(i,0,10): "i is now " + i]
</source>
</syntaxhighlight>
Counts up from 0 to 9.
Counts up from 0 to 9.


<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
[for(i,10,0,-2): "i is now " + i]
[for(i,10,0,-2): "i is now " + i]
</source>
</syntaxhighlight>
Counts down even numbers from 10 to 2.
Counts down even numbers from 10 to 2.


<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
[for(i,10,-1,-2): "i is now " + i]
[for(i,10,-1,-2): "i is now " + i]
</source>
</syntaxhighlight>
Counts down even numbers from 10 to 0.
Counts down even numbers from 10 to 0.



Latest revision as of 23:59, 14 March 2023

 This article is a stub, you can help the RPTools Wiki project by contributing content to expand this article.

[for():] Roll Option

* Introduced in version 1.3.b46

Executes a statement for a number of iterations based on a start and end value.

Usage

[for(var, start, end): body]
[for(var, start, end, stepsize): body]
[for(var, start, end, stepsize, separator): body]

Parameters
The var variable counts from start towards end during the loop, and the optional stepsize (default +1) is added to var at each iteration. Note that in the standard incrementing usage with a stepsize of 1, the body does not execute when var reaches end.
Note that stepsize must be integer and not 0. Floating values will be rounded down.
list_separator default value is ",". Some examples of other useful separators: nothing "", space " " and break "<br>".

Examples

[for(i,0,10): "i is now " + i]

Counts up from 0 to 9.

[for(i,10,0,-2): "i is now " + i]

Counts down even numbers from 10 to 2.

[for(i,10,-1,-2): "i is now " + i]

Counts down even numbers from 10 to 0.

See Also

[foreach():], Introduction to Macro Loops

Version Changes

  • 1.3b54 - Changed the comparison operator when comparing the var to end when determining whether to continue executing a new iteration. In version 1.3b53 and earlier, on each iteration it compared if var was less than or equal to end. As of version 1.3b54, it is now comparing if var is less than end.