isNil: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
Lou Montana (talk | contribs) m (Add example, comments cleanup) |
||
Line 2: | Line 2: | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| arma | | | arma |Game name= | ||
|1.00| | |1.00|Game version= | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| Tests whether the variable defined by the [[String]] argument is undefined, or whether an expression result passed as [[Code]] is undefined. | | Tests whether the variable defined by the [[String]] argument is undefined, or whether an expression result passed as [[Code]] is undefined.<br /> | ||
<br>The command returns [[true]] if the variable or the expression result is undefined (i.e. the expression result is [[ | The command returns [[true]] if the variable or the expression result is undefined (i.e. the expression result is [[Nothing]]), and [[false]] in all other cases. | ||
{{Informative|{{GVI|ofp|1.00}} [[isNil]] doesn't exist in {{ofp}}, you can emulate it: | |||
<code>{{codecomment|// [[SQS syntax]]}} | |||
_nil {{=}} [[format]] ["%1", _undefinedVariable] | |||
? ([[format]] ["%1", foo] {{=}}{{=}} _nil) : foo {{=}} "Hello World!"</code> | |||
<code>{{codecomment|// [[SQF syntax]]}} | |||
_nil {{=}} [[format]] ["%1", _undefinedVariable]; | |||
[[if]] ([[format]] ["%1", foo] {{=}}{{=}} _nil) [[then]] { foo {{=}} "Hello World!"; };</code>}} |Description= | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| | | [[isNil]] variableName |Syntax= | ||
|p1= variableName: [[String]] - name of [[missionNamespace]] variable (for example "someVar") or local variable (for example "_someVar") | | |p1= variableName: [[String]] - name of [[missionNamespace]] variable (for example "someVar") or local variable (for example "_someVar") |Parameter 1= | ||
| [[Boolean]] - [[true]] if variable is | | [[Boolean]] - [[true]] if variable is [[nil]] |Return value= | ||
| s2= | |s2= [[isNil]] code |Syntax 2= | ||
|p21= code: [[Code]]|= | |p21= code: [[Code]] - code to evaluate: | ||
* the code '''will''' be executed. {{Inline code|[[isNil]] { [[player]] [[setDamage]] 1; };}} ''will'' kill the player | |||
* the code will be executed in [[Scheduler#Unscheduled_Environment|'''unscheduled''' environment]] | |||
|Parameter 21= | |||
| r2= [[Boolean]] - [[true]] if code returns something other than [[Nothing]]| | |r2= [[Boolean]] - [[true]] if code returns something other than [[Nothing]] |Return value 2= | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
|x1 = <code>[[if]] ([[isNil]] "_pokus") [[then]] {_pokus = 0};</code>|= | |x1= <code>[[if]] ([[isNil]] "_pokus") [[then]] { _pokus = 0; };</code> |Example1= | ||
|x2 = <code>[[isNil]] {[[player]] [[getVariable]] "someVar"};</code>|= | |x2= <code>[[isNil]] {[[player]] [[getVariable]] "someVar"};</code> |Example2= | ||
|x3= <code>_myArray = [0,1]; | |||
[[isNil]] { _myArray [[select]] 0 }; {{codecomment|// returns [[false]]}} | |||
[[isNil]] { _myArray [[select]] 1 }; {{codecomment|// returns [[false]]}} | |||
[[isNil]] { _myArray [[select]] 2 }; {{codecomment|// returns [[true]]}} | |||
[[isNil]] { _myArray [[select]] 3 }; {{codecomment|// throws a script error. only length+1 select is allowed}} | |||
</code> |Example 3= | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| [[nil]], [[Variables]] | | | [[nil]], [[Variables]] |See also= | ||
}} | }} | ||
Line 37: | Line 53: | ||
<!-- Note Section BEGIN --> | <!-- Note Section BEGIN --> | ||
<!-- Note Section END --> | <!-- Note Section END --> | ||
</dl> | </dl> | ||
<h3 style="display:none">Bottom Section</h3> | <h3 style="display:none">Bottom Section</h3> | ||
[[Category:Scripting Commands | [[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]] | ||
[[Category:Scripting Commands ArmA|{{uc:{{PAGENAME}}}}]] | |||
[[Category: | |||
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]] | [[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]] | ||
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]] | [[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]] | ||
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]] | [[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]] | ||
[[Category:Command_Group:_Object_Information|{{uc:{{PAGENAME}}}}]] | |||
[[Category:Command_Group:_Variables|{{uc:{{PAGENAME}}}}]] | |||
Revision as of 01:01, 27 May 2018
Description
- Description:
- Tests whether the variable defined by the String argument is undefined, or whether an expression result passed as Code is undefined.
The command returns true if the variable or the expression result is undefined (i.e. the expression result is Nothing), and false in all other cases. - Groups:
- Uncategorised
Syntax
- Syntax:
- isNil variableName
- Parameters:
- variableName: String - name of missionNamespace variable (for example "someVar") or local variable (for example "_someVar")
- Return Value:
- Boolean - true if variable is nil
Alternative Syntax
- Syntax:
- isNil code
- Parameters:
- code: Code - code to evaluate:
- the code will be executed.
isNil { player setDamage 1; };
will kill the player - the code will be executed in unscheduled environment
- the code will be executed.
- Return Value:
- Boolean - true if code returns something other than Nothing
Examples
- Example 1:
if (isNil "_pokus") then { _pokus = 0; };
- Example 2:
isNil {player getVariable "someVar"};
- Example 3:
_myArray = [0,1]; isNil { _myArray select 0 }; // returns false isNil { _myArray select 1 }; // returns false isNil { _myArray select 2 }; // returns true isNil { _myArray select 3 }; // throws a script error. only length+1 select is allowed
Additional Information
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