compileFinal: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\{\{cc\|([^} ]*)\}\}" to "// $1")
m (Some wiki formatting)
Line 10: Line 10:
* removal by [[nil]]
* removal by [[nil]]
* remote rewrite using [[publicVariable]], [[publicVariableClient]] and [[publicVariableServer]]
* remote rewrite using [[publicVariable]], [[publicVariableClient]] and [[publicVariableServer]]
{{Feature | Informative | This feature is only available in retail version of Arma 3}}
{{Feature|informative|This feature is only available in retail version of {{arma3}}.}}


|s1= [[compileFinal]]  expression
|s1= [[compileFinal]]  expression
Line 18: Line 18:
|r1= [[Code]]
|r1= [[Code]]


|x1= <code>myCode <nowiki>=</nowiki> compileFinal "a <nowiki>=</nowiki> a + 1";
|x1= <sqf>
[[call]] myCode;<br>
myCode = compileFinal "a = a + 1";
call myCode;
// Repeated compile won't have any effect
// Repeated compile won't have any effect
myCode {{=}} compileFinal "a <nowiki>=</nowiki> a + 2";<br>
myCode = compileFinal "a = a + 2";
 
// Duplicate code will be final as well
// Duplicate code will be final as well
myDuplicateCode = myCode;
myDuplicateCode = myCode;
</code>
</sqf>


|seealso= [[compile]] [[call]] [[spawn]] [[isFinal]]
|seealso= [[compile]] [[call]] [[spawn]] [[isFinal]]

Revision as of 14:06, 13 May 2022

Hover & click on the images for description

Description

Description:
Compile expression and makes it final, preventing it from:
This feature is only available in retail version of Arma 3.
Groups:
Strings

Syntax

Syntax:
compileFinal expression
Parameters:
expression: String
Return Value:
Code

Examples

Example 1:
myCode = compileFinal "a = a + 1"; call myCode; // Repeated compile won't have any effect myCode = compileFinal "a = a + 2"; // Duplicate code will be final as well myDuplicateCode = myCode;

Additional Information

See also:
compile call spawn 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
Posted on August 14, 2013
AgentRev
When broadcasting a compileFinal'ed variable using publicVariable or its variants, the variable also becomes final on the other client(s) and/or the server. Also, compileFinal does not prevent event handlers from being removed or overwritten.
Posted on May 27, 2017 - 11:58 (UTC)
IT07
in Arma 3 1.70.141838, compileFinal also works for profileNamespace and uiNamespace. But be careful with that.
Posted on October 23, 2020 - 10:39 (UTC)
Dscha
Change with Arma 3 Patch 2.00, compileFinal is now unable to store code type variables in profileNamespace!