compileFinal: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Some wiki formatting) |
Lou Montana (talk | contribs) (Add v2.14's alternative syntax) |
||
Line 14: | Line 14: | ||
|s1= [[compileFinal]] expression | |s1= [[compileFinal]] expression | ||
|p1= expression: [[String]] or {{GVI|arma3|2.14|size= 0.75}} [[ | |p1= expression: [[String]], {{GVI|arma3|2.14|size= 0.75}} [[Code]] or {{GVI|arma3|2.14|size= 0.75}} [[HashMap]] | ||
|r1= [[Code]] | |r1= [[Code]] | ||
Line 22: | Line 22: | ||
call MyCode; | call MyCode; | ||
// | // repeated compile won't have any effect | ||
MyCode = compileFinal "a = a + 2"; | MyCode = compileFinal "a = a + 2"; | ||
// | // duplicate code will be final as well | ||
MyDuplicateCode = MyCode; | MyDuplicateCode = MyCode; | ||
</sqf> | </sqf> | ||
Line 34: | Line 34: | ||
}; | }; | ||
</sqf> | </sqf> | ||
|x3= <sqf>private _readonlyHashMap = compileFinal _myHashMap;</sqf> | |||
|seealso= [[compile]] [[compileScript]] [[isFinal]] [[call]] [[spawn]] | |seealso= [[compile]] [[compileScript]] [[isFinal]] [[call]] [[spawn]] |
Revision as of 17:06, 9 April 2023
Description
- Description:
- Compiles an expression and makes it final, preventing it from:
- being modified by compile or compileFinal
- being removed with nil
- being modified by publicVariable, publicVariableClient or publicVariableServer
- Groups:
- Strings
Syntax
- Syntax:
- compileFinal expression
- Parameters:
- expression: String, 2.14 Code or 2.14 HashMap
- Return Value:
- Code
Examples
- Example 1:
- Example 2:
- Example 3:
Additional Information
- See also:
- compile compileScript isFinal call spawn
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 Aug 15, 2013 - 00:35 (UTC)
- 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)
- in Arma 3 v1.70.141838, compileFinal also works for profileNamespace and uiNamespace. But be careful with that.
- Posted on Oct 23, 2020 - 10:39 (UTC)
- Change with Arma 3 patch 2.00, compileFinal is now unable to store code type variables in profileNamespace!