nil: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
(Add more details)
 
(40 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| ofp |= Game name
|game1= ofp
|version1= 1.00


|1.00|= Game version
|game2= ofpe
____________________________________________________________________________________________
|version2= 1.00


| Nil value. This value can be used to undefine existing [[Variables|variables]]. |= Description
|game3= arma1
____________________________________________________________________________________________
|version3= 1.00


| '''nil''' |= Syntax
|game4= arma2
|version4= 1.00


| [[Void]] |= Return value
|game5= arma2oa
____________________________________________________________________________________________
|version5= 1.50
 
|x1= <code>variableToDestroy = [[nil]];</code> |= Example 1
____________________________________________________________________________________________


| [[isNil]], [[Variables]] |= See also
|game6= tkoh
 
|version6= 1.00
}}
 
<h3 style="display:none">Notes</h3>
<dl class="command_description">
<!-- Note Section BEGIN -->
<dt class="note">'''[[User:Mikero|Mikero]]'''<dd class="note">
Note that ArrayName = nil destroys the arrayNAME '''not''' the array content.
 
Array content is 'destroyed' when no more ArrayName'''s''' refer to the content.
 
 
<dt class="note">'''[[User:Worldeater|Worldeater]]'''<dd class="note">
'''Never ever assign a value to ''nil''!'''
 
Doing so creates a global variable with the same name that overrides the "command" ''nil'':
 
  foo = "foo";
  nil = "bar";
  foo = nil;
  hint foo; // displays "bar"


|game7= arma3
|version7= 0.50


|gr1= Variables


<!-- Note Section END -->
|descr= Nil value. This value can be used to undefine existing [[Variables|variables]].
</dl>


<h3 style="display:none">Bottom Section</h3>
|s1= [[nil]]


|r1= [[Nothing]]


[[Category:Scripting Commands|NIL]]
|x1= <sqf>variableToDestroy = nil;</sqf>
[[Category:Scripting Commands OFP 1.99|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands OFP 1.96|NIL]]
[[Category:Scripting Commands OFP 1.46|NIL]]
[[Category:Scripting Commands ArmA|NIL]]
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
[[Category:Command_Group:_Variables|{{uc:{{PAGENAME}}}}]]


<!-- CONTINUE Notes -->
|x2= <sqf>
<dl class="command_description">
private _variable = 50;
<dd class="notedate">Posted on September 25, 2014 - 09:50 (UTC)</dd>
_variable = nil;
<dt class="note">[[User:Kenoxite|Kenoxite]]</dt>
hint format ["Variable = %1", _variable]; // will display "Variable = any" in {{Link|Scheduler#Unscheduled Environment|unscheduled environment}}
<dd class="note">
// will output "Error Undefined variable in expression: _variable" in {{Link|Scheduler#Scheduled Environment|scheduled environment}}
While [[isNil]] isn't available in OFP/CWA you can easily emulate it with something like this:
// identical to
<pre>
hint format ["Variable = %1", _variableThatWasNeverDefined];
_nil = format["%1",_nilstring];
</sqf>
?(format["%1",foo]==_nil): foo = "Hello World!"
</pre>
</dd>
</dl>


<dl class="command_description">
|seealso= [[isNil]] [[Variables]]
<dd class="notedate">Posted on April 08, 2016 - 21:35 (UTC)</dd>
<dt class="note">'[[User:Pierre MGI|Pierre MGI]]</dt>
<dd class="note">
To illustrate Mikero's comment:
Destroying a variable doesn't mean the engine "reset" the "container" of the value.
For example, just test:
<pre>
0 = [] spawn {
  while {true} do {
    sleep 0.5;
    if (isNil "my_var") then {my_var = player addAction ["useless action", {}]};
    player removeAction  my_var;
    hintSilent format ["%1", my_var];
    my_var = nil;
}}
}}
</pre>
Container my_var is still incremented, even if value my_var is voided.
</dd>
</dl>
<!-- DISCONTINUE Notes -->

Latest revision as of 10:38, 8 November 2023

Hover & click on the images for description

Description

Description:
Nil value. This value can be used to undefine existing variables.
Groups:
Variables

Syntax

Syntax:
nil
Return Value:
Nothing

Examples

Example 1:
variableToDestroy = nil;
Example 2:
private _variable = 50; _variable = nil; hint format ["Variable = %1", _variable]; // will display "Variable = any" in unscheduled environment // will output "Error Undefined variable in expression: _variable" in scheduled environment // identical to hint format ["Variable = %1", _variableThatWasNeverDefined];

Additional Information

See also:
isNil Variables

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