Fandom

武装突袭 Wiki

Private

简体 | 繁體

4,827个页面创建
于此维基上
添加新页面
评论0 分享

您使用了广告屏蔽软件!


Wikia通过广告运营为用户提供免费的服务。我们对用户通过嵌入广告屏蔽软件访问网站进行了使用调整。

如果您使用了广告屏蔽软件,将无法使用我们的服务。请您移除广告屏蔽软件,以确保页面正常加载。

Introduced with Operation Flashpoint version 1.00
  

点击图片可看到更多讯息

开始使用于

游戏:
Operation Flashpoint
版本:
1.00

描述

描述:
Sets a variable to the innermost scope as demonstrated in Example 3.
Since Arma 3 v1.53.132932 private can be used as keyword as shown in Example 4.

基本句法

句法:
private variableName
参数:
variableName: String
返回值:
Nothing

替代句法

句法:
private variableNameList
参数:
variableNameList: Array of Strings
返回值:
Nothing

替代句法2

句法:
private variable = value         (Since Arma 3 v1.53.132932)
参数:
variable: underscored variable, for example _myvar

value: Anything: value to assign to the variable
返回值:
Nothing

范例

范例1:
private "_varname";

范例2:
private ["_varname1", "_varname2"];

范例3:
_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]

范例4:
Usage of private as keyword: private _myvar = 123; //is the same as private "_myvar"; _myvar = 123;

额外资讯

多人游戏:
-
也可以看看:

Scope

注意事项

此处撰写句法皆为可行用法. 可到官网[1]专页回报错误. 你可以使用讨论页面或是论坛来进行讨论.
新增注意事项 | 如何新增?

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.

更多维基

随机维基