compile: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(see also)
m (Some wiki formatting)
 
(53 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| arma |= Game name
|game1= arma1
|version1= 1.00


|1.00|= Game version
|game2= arma2
____________________________________________________________________________________________
|version2= 1.00


| 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. <br><br>{{Informative |When the <tt>forceDisableCache</tt> 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.}}|= Description
|game3= arma2oa
____________________________________________________________________________________________
|version3= 1.50


| '''compile''' expression |= Syntax
|game4= tkoh
|version4= 1.00


|p1= expression: [[String]] - expression to be compiled |= Parameter 1
|game5= arma3
|version5= 0.50


| [[Code]] - compiled expression|= Return value
|gr1= Strings


| s2= '''compile''' [expression, forceDisableCache] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;''Since Arma 3 v1.91.145316''|= Syntax
|descr= Compiles [[String]] expression into [[Code]].


|p21= [expression, forceDisableCache]: [[Array]]  |= Parameter 1
|s1= [[compile]] expression
|p22= expression: [[String]] - expression to be compiled |= Parameter 1
|p23= forceDisableCache: [[Boolean]] - [[true]] to disable expression caching. Default: [[false]] |= Parameter 1


| r2= [[Code]] - compiled expression|= Return value
|p1= expression: [[String]] - expression to be compiled
____________________________________________________________________________________________
 
|x1= <code>_string <nowiki>=</nowiki> "a <nowiki>=</nowiki> a + 1";
_code <nowiki>=</nowiki> [[compile]] _string;
[[call]] _code;</code> |= Example 1


|x2= <code>[[hint]] [[str]] [[compile]] "a = b";
|r1= [[Code]] - compiled expression
//Result: {a=b}</code> |= Example 2


|x3= <code>[[hint]] [[str]] [[compile]] <nowiki>[</nowiki>[[format]] ["a = %1", [[random]] 1000], [[true]]]; // disable caching</code> |= Example 3
|x1= <sqf>
____________________________________________________________________________________________
_string = "a = a + 1";
_code = compile _string;
call _code;
</sqf>


| [[call]], [[spawn]], [[compileFinal]], [[parseSimpleArray]] |= See also
|x2= <sqf>
hint str compile "a = b";
// result: { a = b }
</sqf>


|seealso= [[call]] [[spawn]] [[compileFinal]] [[compileScript]] [[parseSimpleArray]] [[isFinal]]
}}
}}
<h3 style="display:none">Notes</h3>
<dl class="command_description">
<!-- Note Section BEGIN -->
<!-- Note Section END -->
</dl>
<h3 style="display:none">Bottom Section</h3>
[[Category:Scripting Commands|COMPILE]]
[[Category:Scripting Commands ArmA|COMPILE]]
[[Category:Command_Group:_Variables|{{uc:{{PAGENAME}}}}]]
[[Category:Command_Group:_System_Commands|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]

Latest revision as of 14:05, 13 May 2022

Hover & click on the images for description

Description

Description:
Compiles String expression into Code.
Groups:
Strings

Syntax

Syntax:
compile expression
Parameters:
expression: String - expression to be compiled
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 }

Additional Information

See also:
call spawn compileFinal compileScript parseSimpleArray isFinal

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