private: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
Killzone Kid (talk | contribs) (added keyword usage) |
||
Line 7: | Line 7: | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| Sets a variable to the innermost scope. The variable has to be [[Variables#Local_Variables|local]]. |= Description | | Sets a variable to the innermost scope. The variable has to be [[Variables#Local_Variables|local]]. <br><br>Since Arma 3 v1.53.132932 [[private]] can be used as keyword as shown in Example 3. |= Description | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
Line 14: | Line 14: | ||
| [[Nothing]] |= Return value | | [[Nothing]] |= Return value | ||
|s2= '''private''' variableNameList |=Syntax | |s2= '''private''' variableNameList |=Syntax | ||
|p21= variableNameList: [[Array]] of [[String]]s |= Parameter 1 | |p21= variableNameList: [[Array]] of [[String]]s |= Parameter 1 | ||
|r2= [[Nothing]] |= Return value | |r2= [[Nothing]] |= Return value | ||
| s3 = '''local''' variable = value (Since Arma 3 v1.53.132932) |= Syntax | |||
|p41= variable: underscored variable, for example ''_myvar'' |= Parameter 1 | |||
|p42= value: [[Anything]]: value to assign to the variable |= Parameter 1 | |||
|r3 = [[Nothing]] |= Return value | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
|x1= <code>[[private]] "_varname";</code> |= Example 1 | |x1= <code>[[private]] "_varname";</code> |= Example 1 | ||
|x2= <code>[[private]] ["_varname1", "_varname2"];</code> |= Example 2 | |x2= <code>[[private]] ["_varname1", "_varname2"];</code> |= Example 2 | ||
|x3= Usage of [[private]] as keyword: <code>[[private]] _myvar = 123; | |||
//is the same as | |||
[[private]] "_myvar"; | |||
_myvar = 123;</code> |= Example 4 | |||
| [[Variables#Scope|Scope]] |= See also | | [[Variables#Scope|Scope]] |= See also | ||
Revision as of 21:37, 15 October 2015
Description
- Description:
- Sets a variable to the innermost scope. The variable has to be local.
Since Arma 3 v1.53.132932 private can be used as keyword as shown in Example 3. - Groups:
- Uncategorised
Syntax 1
Syntax 2
Syntax 3
- Syntax:
- local variable = value (Since Arma 3 v1.53.132932)
- Parameters:
- variable: underscored variable, for example _myvar
- value: Anything: value to assign to the variable
- Return Value:
- Nothing
Examples
- Example 1:
private "_varname";
- Example 2:
private ["_varname1", "_varname2"];
- Example 3:
- Usage of private as keyword:
private _myvar = 123; //is the same as private "_myvar"; _myvar = 123;
Additional Information
- See also:
- Scope
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
Notes
- Posted on Sep 24, 2009 15:04
- ColonelSandersLite
The example provided is fairly worthless without a context.
Using the private command allows you to declare a variable in the current scope, without regards to variables in a higher scope with the same name. Note that if you try to declare a variable without an underscore (meaning it's global) with the private command, it will cause an error. Specifically: "Error Local variable in global space".
Here's a code example with output for your benefit.
_foo = 10; if (true) then { private ["_foo"]; _foo = 5; player sideChat format ["%1", _foo]; }; player sideChat format ["%1", _foo];
In this example, the first sidechat (innermost) returns 5 while the second sidechat (outermost) returns 10.
if (true) then { private ["_bar"]; _bar = 5; player sideChat format ["%1", _bar]; };
In this example, the private command does nothing and is simply a waste of code, assuming there is no higher level code to interfere with the if statement.
- Posted on August 4, 2010
- Faguss
- The higher scope is also the script from which the function has been called.
If you've got in the script:_a = 1; call compile loadFile "function.sqf"; hint format ["%1", _a];
And in the function.sqf:_a = 2;
Game will display 2.
Inserting private "_a" in the function prevents the change and so number 1 will be displayed on the screen.
Bottom Section
- Posted on February 25, 2015 - 17:06 (UTC)
- DreadedEntity
- Recursive loops require the use of private. Without it, your variables will be overwritten.
Categories:
- Scripting Commands
- Introduced with Operation Flashpoint version 1.00
- Operation Flashpoint: New Scripting Commands
- Operation Flashpoint: Scripting Commands
- Command Group: Uncategorised
- Scripting Commands OFP 1.99
- Scripting Commands OFP 1.96
- Scripting Commands ArmA
- Scripting Commands ArmA2
- Scripting Commands Arma 3
- Scripting Commands Take On Helicopters