eval: Difference between revisions
Jump to navigation
Jump to search
m (Text replacement - "<source" to "<syntaxhighlight") |
m (Text replacement - "source>" to "syntaxhighlight>") |
||
(One intermediate revision by the same user not shown) | |||
Line 10: | Line 10: | ||
<syntaxhighlight lang="mtmacro" line> | <syntaxhighlight lang="mtmacro" line> | ||
eval(expr) | eval(expr) | ||
</ | </syntaxhighlight> | ||
'''Parameter''' | '''Parameter''' | ||
{{param|expr|A string containing the expression to be evaluated.}} | {{param|expr|A string containing the expression to be evaluated.}} | ||
Line 17: | Line 17: | ||
<syntaxhighlight lang="mtmacro" line> | <syntaxhighlight lang="mtmacro" line> | ||
[r: eval("1+1")] | [r: eval("1+1")] | ||
</ | </syntaxhighlight> | ||
Returns {{code|2}} | Returns {{code|2}} | ||
<syntaxhighlight lang="mtmacro" line> | <syntaxhighlight lang="mtmacro" line> | ||
[r: eval("3d6")] | [r: eval("3d6")] | ||
</ | </syntaxhighlight> | ||
Returns a random number from {{code|3}} to {{code|18}}. | Returns a random number from {{code|3}} to {{code|18}}. | ||
<syntaxhighlight lang="mtmacro" line> | <syntaxhighlight lang="mtmacro" line> | ||
[r: eval("TestVar = 2")] | [r: eval("TestVar = 2")] | ||
</ | </syntaxhighlight> | ||
Returns {{code|2}} | Returns {{code|2}} | ||
<syntaxhighlight lang="mtmacro" line> | <syntaxhighlight lang="mtmacro" line> | ||
[h: TestVar = 2][r: eval("TestVar/2")] | [h: TestVar = 2][r: eval("TestVar/2")] | ||
</ | </syntaxhighlight> | ||
Returns {{code|1}} | Returns {{code|1}} | ||
Line 40: | Line 40: | ||
<syntaxhighlight lang="mtmacro" line> | <syntaxhighlight lang="mtmacro" line> | ||
[h: foo = eval(string(bar))] | [h: foo = eval(string(bar))] | ||
</ | </syntaxhighlight> | ||
|also= | |also= | ||
{{func|evalMacro}}, | {{func|evalMacro}}, |
Latest revision as of 23:59, 14 March 2023
eval() Function
• Introduced in version pre-1.3
Evaluates an expression in a string and returns the result. The string contains the same type of expression that is usually located between macro brackets (e.g { } or [r: 2+2]). eval() is commonly used to evaluate dynamically built input() parameters, or dice expressions stored in token properties.
For more complex evaluation functions, see evalMacro() and execMacro().
Usage
eval(expr)
Parameter
expr
- A string containing the expression to be evaluated.
Examples
[r: eval("1+1")]
Returns 2
[r: eval("3d6")]
Returns a random number from 3
to 18
.
[r: eval("TestVar = 2")]
Returns 2
[h: TestVar = 2][r: eval("TestVar/2")]
Returns 1
Tip
Since eval()
only accepts strings as parameter and it happens quite often that you have either numbers or strings following code is a good method to make it work in any case.
[h: foo = eval(string(bar))]