Custom Robust eval Function: Difference between revisions
Jump to navigation
Jump to search
Lmarkus001 (talk | contribs) (→Macros) |
Verisimilar (talk | contribs) m (Zero-Proof eval moved to Custom Robust eval Function: No longer just zero-proof.) |
(No difference)
|
Revision as of 17:29, 17 June 2009
Note: This function can only be used in a Trusted Macro
This user defined function redefines the standard eval() function, allowing it to be given a zero and not throw an exception.
Macros
Place both of these macros on the same library token.
onCampaignLoad
[defineFunction("eval", "evalFunction@this")]
evalFunction
[h: assert( argCount() == 1, "eval() requires one parameter.")]
[h, if ( arg(0) == 0 ), code:
{
[h: macro.return = 0]
};{
[h: macro.return = oldFunction( arg(0) ) ]
}]
Alternately, this version also handles the empty string ("") gracefully.
evalFunction
<!--
[H: assert( argCount() == 1, "eval() requires one parameter.")]
[H, IF( arg(0) == 0 ): macro.return = 0]
[H, IF( arg(0) == "" ): macro.return = ""]
[H, IF( arg(0) != 0 && arg(0) != ""): macro.return = oldFunction( arg(0) )]
-->