Code: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
m (Some wiki formatting)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''Code''' represents data consisting of commands and their parameters. The contents of [[sqf]] and [[sqs]] files, for example are 'Code'. In turn, it can also be the case that one of the scripting commands gets passed further scripting commands, e.g. [[for]] {Code} [[do]] {Code}; unit [[addEventHandler]] [Event Handler type, {Code}]; [[onMapSingleClick]] "Code".
'''Code''' represents data consisting of commands and their parameters. The contents of [[SQF Syntax|SQF]] and [[SQS Syntax|SQS]] files, for example are 'Code'.
In turn, it can also be the case that one of the scripting commands gets passed further scripting commands, e.g.
<sqf inline>while { code } do { code }; unit addEventHandler ["EventHandlerType", { code }]; onMapSingleClick "Code"</sqf>.


Code literals are usually represented by enclosing text into curly braces: '{' and '}'. Any such code is precompiled by the script engine. Sometimes it may become necessary to first read in certain commands as String. In order to convert code from data type String into data type Code, the command [[compile]] can be used. See [[Code vs. Strings]] for more information on code data typing.
Code literals (or code '''blocks''') are usually represented by enclosing text into curly braces: <sqf inline>{</sqf> and <sqf inline>}</sqf>.
Any such code is precompiled by the script engine. Sometimes it may become necessary to first read in certain commands as [[String]].
In order to convert code from data type String into data type Code, the command [[compile]] can be used. See [[Code vs. Strings]] for more information on code data typing.


==Examples==


'''{'''_x [[setDamage]] 1'''}''' [[forEach]] ArrayToKill
== Examples ==
 
<sqf>{ _x setDamage 1 } forEach ArrayToKill</sqf>
<sqf>
private _codeToExecute = { hint "it works!" };
private _codeStr = toString _codeToExecute; // ' hint "it works!" '
 
call _codeToExecute; // identical to
call compile _codeStr;
</sqf>




[[Category: Data Types]]
[[Category: Data Types]]

Latest revision as of 14:41, 14 November 2023

Code represents data consisting of commands and their parameters. The contents of SQF and SQS files, for example are 'Code'. In turn, it can also be the case that one of the scripting commands gets passed further scripting commands, e.g. while { code } do { code }; unit addEventHandler ["EventHandlerType", { code }]; onMapSingleClick "Code".

Code literals (or code blocks) are usually represented by enclosing text into curly braces: { and }. Any such code is precompiled by the script engine. Sometimes it may become necessary to first read in certain commands as String. In order to convert code from data type String into data type Code, the command compile can be used. See Code vs. Strings for more information on code data typing.


Examples

{ _x setDamage 1 } forEach ArrayToKill
private _codeToExecute = { hint "it works!" }; private _codeStr = toString _codeToExecute; // ' hint "it works!" ' call _codeToExecute; // identical to call compile _codeStr;