eval: Difference between revisions
Jump to navigation
Jump to search
Verisimilar (talk | contribs) No edit summary |
m (Text replacement - "source>" to "syntaxhighlight>") |
||
(7 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{MacroFunction | {{MacroFunction | ||
|name=eval | |name=eval | ||
|description=Evaluates | |version=pre-1.3 | ||
|description= | |||
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]'''). {{func|eval}} is commonly used to evaluate dynamically built {{func|input}} parameters, or dice expressions stored in token properties. | |||
For more complex evaluation functions, see {{func|evalMacro}} and {{func|execMacro}}. | |||
|usage= | |usage= | ||
< | <syntaxhighlight lang="mtmacro" line> | ||
eval(expr) | |||
</ | </syntaxhighlight> | ||
'''Parameter''' | |||
{{param|expr|A string containing the expression to be evaluated.}} | |||
|examples= | |examples= | ||
< | <syntaxhighlight lang="mtmacro" line> | ||
[r: eval("1+1")] | [r: eval("1+1")] | ||
</ | </syntaxhighlight> | ||
Returns | Returns {{code|2}} | ||
<syntaxhighlight lang="mtmacro" line> | |||
[r: eval("3d6")] | |||
</syntaxhighlight> | |||
Returns a random number from {{code|3}} to {{code|18}}. | |||
<syntaxhighlight lang="mtmacro" line> | |||
[r: eval("TestVar = 2")] | |||
</syntaxhighlight> | |||
Returns {{code|2}} | |||
<syntaxhighlight lang="mtmacro" line> | |||
[h: TestVar = 2][r: eval("TestVar/2")] | |||
</syntaxhighlight> | |||
Returns {{code|1}} | |||
< | '''Tip''' | ||
[ | Since {{code|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. | ||
</ | <syntaxhighlight lang="mtmacro" line> | ||
[h: foo = eval(string(bar))] | |||
</syntaxhighlight> | |||
|also= | |||
{{func|evalMacro}}, | |||
{{func|execMacro}} | |||
}} | }} | ||
[[Category:Miscellaneous Function]] | [[Category:Miscellaneous Function]] |
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))]