compileFinal: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "{{ExternalLink|" to "{{Link|") |
(Added new parameter data type) |
||
Line 6: | Line 6: | ||
|gr1= Strings | |gr1= Strings | ||
|descr= | |descr= 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]] | ||
{{Feature|informative|This feature is only available in retail version of {{arma3}}.}} | {{Feature|informative|This feature is only available in the retail version of {{arma3}}.}} | ||
|s1= [[compileFinal]] | |s1= [[compileFinal]] expression | ||
|p1= expression: [[String]] | |p1= expression: [[String]] or [[Code]] (since {{GVI|arma3|2.14}}) | ||
|r1= [[Code]] | |r1= [[Code]] | ||
|x1= <sqf> | |x1= <sqf> | ||
MyCode = compileFinal "a = a + 1"; | |||
call | call MyCode; | ||
// Repeated compile won't have any effect | // Repeated compile won't have any effect | ||
MyCode = compileFinal "a = a + 2"; | |||
// Duplicate code will be final as well | // Duplicate code will be final as well | ||
MyDuplicateCode = MyCode; | |||
</sqf> | </sqf> | ||
|seealso= [[compile]] [[ | |x2= <sqf> | ||
MyCode = compileFinal { | |||
systemChat "Hello World!"; | |||
}; | |||
</sqf> | |||
|seealso= [[compile]] [[compileScript]] [[isFinal]] [[call]] [[spawn]] | |||
}} | }} | ||
Revision as of 11:43, 24 March 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 or Code (since 2.14)
- Return Value:
- Code
Examples
- Example 1:
- Example 2:
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 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!