compile: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(alt syntax +some explanation)
(exaple)
Line 31: Line 31:
|x2= <code>[[hint]] [[str]] [[compile]] "a = b";
|x2= <code>[[hint]] [[str]] [[compile]] "a = b";
//Result: {a=b}</code> |= Example 2
//Result: {a=b}</code> |= Example 2
|x3= <code>[[hint]] [[str]] [[compile]] <nowiki>[</nowiki>[[format]] ["a = %1", [[random]] 1000], [[true]]]; // disable caching</code> |= Example 3
____________________________________________________________________________________________
____________________________________________________________________________________________



Revision as of 21:26, 9 January 2019

-wrong parameter ("Arma") defined!-1.00
Hover & click on the images for description

Description

Description:
Compiles String expression into Code. By default each expression is cached and stored in memory. This could improve performance when compiling the same expression over and over, but if the expression is different every time this could lead to excessive use of RAM. The alternative syntax allowing disabling of the caching was added with Arma 3 v1.91.145316.

When the forceDisableCache is true the expression will not be cached. However if the same expression already exists in cache (because of prior compilation with normal compile command for example), the command will retrieve the cached result rather than compiling the expression again.
Groups:
Uncategorised

Syntax

Syntax:
compile expression
Parameters:
expression: String - expression to be compiled
Return Value:
Code - compiled expression

Alternative Syntax

Syntax:
compile [expression, forceDisableCache]        Since Arma 3 v1.91.145316
Parameters:
[expression, forceDisableCache]: Array
expression: String - expression to be compiled
forceDisableCache: Boolean - true to disable expression caching. Default: false
Return Value:
Code - compiled expression

Examples

Example 1:
_string = "a = a + 1"; _code = compile _string; call _code;
Example 2:
hint str compile "a = b"; //Result: {a=b}
Example 3:
hint str compile [format ["a = %1", random 1000], true]; // disable caching

Additional Information

See also:
callspawncompileFinal

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note

Notes

Bottom Section