private: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " +\|\$Warning( *)\|" to " |$1Warning$1|")
m (Text replacement - "{{Inline code|" to "{{ic|")
Line 72: Line 72:
<br>
<br>
Game will display 2.<br>
Game will display 2.<br>
Inserting {{Inline code|[[private]] "_a"}} in the function prevents the change and so number 1 will be displayed on the screen.
Inserting {{ic|[[private]] "_a"}} in the function prevents the change and so number 1 will be displayed on the screen.


<dd class="notedate">Posted on February 25, 2015 - 17:06 (UTC)</dd>
<dd class="notedate">Posted on February 25, 2015 - 17:06 (UTC)</dd>

Revision as of 19:09, 27 February 2021

Hover & click on the images for description

Description

Description:
Description needed
Groups:
Variables

Syntax 1

Syntax:
Syntax needed
Parameters:
variableName: String - e.g "_myVar"
Return Value:
Return value needed

Syntax 2

Syntax:
private variableNameList
Parameters:
variableNameList: Array of Strings, e.g ["_target", "_damage"]
Return Value:
Nothing

Syntax 3

Syntax:
private _identifier = value Template:Since
Parameters:
_identifier: underscored variable name, for example _myVar
value: Anything: value to assign to the variable
Return Value:
Nothing

Examples

Example 1:
private _varname = "this is my new variable"; // since Arma 3 v1.53 only // identical, but less performant private "_varname"; _varname = "this is my new variable";
Example 2:
private ["_varname1", "_varname2"]; _varname1 = "variable 1"; _varname2 = "variable 2";
Example 3:
_lol = 123; call { hint str [_lol] }; // [123] _lol = 123; call { private "_lol"; hint str [_lol] }; // [any]
Example 4:
_myvar = 123; systemChat str [_myvar]; // [123] call { systemChat str [_myvar]; // [123] private "_myvar"; systemChat str [_myvar]; // [any] _myvar = 345; systemChat str [_myvar]; // [345] }; systemChat str [_myvar]; // [123]

Additional Information

See also:
See also needed

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 4, 2010
Faguss
The higher scope is also the script from which the function has been called.
in script2.sqf: _a = 2; in script1.sqf: _a = 1; call compile preprocessFileLineNumbers "script2.sqf"; hint format ["%1", _a];
Game will display 2.
Inserting private "_a" in the function prevents the change and so number 1 will be displayed on the screen.
Posted on February 25, 2015 - 17:06 (UTC)
DreadedEntity
Recursive loops require the use of private. Without it, your variables will be overwritten.
Posted on January 31, 2018 - 10:37 (UTC)
654wak654
This command is similar to javascript's let keyword.
EDIT: in the way that it scopes the variable to the innermost scope. Otherwise, let and private can behave differently - Lou Montana (talk)