private: Difference between revisions
Jump to navigation
Jump to search
(formatting syntax/example, wikifying link) |
mNo edit summary |
||
Line 28: | Line 28: | ||
<dl class="command_description"> | <dl class="command_description"> | ||
<!-- Note Section BEGIN --> | <!-- Note Section BEGIN --> | ||
<dd class="notedate">Posted on Sep 24, 2009 15:04 | |||
<dt class="note">'''[[User:ColonelSandersLite|ColonelSandersLite]]''' | <dt class="note">'''[[User:ColonelSandersLite|ColonelSandersLite]]''' | ||
<dd class="note"><br> | <dd class="note"><br> | ||
Line 37: | Line 34: | ||
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".<br> | 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".<br> | ||
Here's a code example with output for your benefit.<br> | Here's a code example with output for your benefit.<br> | ||
<code> | |||
_foo = 10; | _foo = 10; | ||
if (true) then | if (true) then | ||
Line 45: | Line 43: | ||
}; | }; | ||
player sideChat format ["%1", _foo]; | player sideChat format ["%1", _foo]; | ||
< | </code> | ||
In this example, the first sidechat (innermost) returns 5 while the second sidechat (outermost) returns 10.<br> | In this example, the first sidechat (innermost) returns 5 while the second sidechat (outermost) returns 10.<br> | ||
< | <code> | ||
if (true) then | if (true) then | ||
{ | { | ||
Line 54: | Line 52: | ||
player sideChat format ["%1", _bar]; | player sideChat format ["%1", _bar]; | ||
}; | }; | ||
< | </code> | ||
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.<br> | 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.<br> | ||
<dd class="notedate">Posted on August 4, 2010 | <dd class="notedate">Posted on August 4, 2010 | ||
<dt class="note">'''[[User:Faguss|Faguss]]''' | <dt class="note">'''[[User:Faguss|Faguss]]''' | ||
Line 69: | Line 65: | ||
Game will display 2.<br><br> | Game will display 2.<br><br> | ||
Inserting <i>private "_a"</i> in the function prevents the change and so number 1 will be displayed on the screen. | Inserting <i>private "_a"</i> in the function prevents the change and so number 1 will be displayed on the screen. | ||
<!-- Note Section END --> | <!-- Note Section END --> | ||
</dl> | </dl> |
Revision as of 16:16, 2 April 2014
Description
- Description:
- Sets a variable to the innermost scope. The variable has to be local.
- Groups:
- Uncategorised
Syntax
Alternative Syntax
Examples
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 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
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.96
- Scripting Commands ArmA
- Scripting Commands ArmA2
- Scripting Commands Arma 3
- Scripting Commands Take On Helicopters