private
From Bohemia Interactive Community
Click on the images for descriptions
Introduced in
- Game:
- Operation Flashpoint
- Version:
- 1.00
Description
- Description:
- Sets a variable to the innermost scope. The variable has to be local.
Syntax
Alternative Syntax
Examples
- Example 1:
private "_varname";- Example 2:
private ["_varname1", "_varname2"];
Additional Information
- Multiplayer:
- -
- See also:
- Scope
Notes
Notes
Notes
- 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 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.