isNull: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(Fix description, categories, notes, add diaryRecordNull)
m (Some wiki formatting)
 
(47 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


|arg= global |Multiplayer Arguments=
|game3= arma1
____________________________________________________________________________________________
|version3= 1.00


| Checks whether the tested item is null.<br>
|game4= arma2
|version4= 1.00
 
|game5= arma2oa
|version5= 1.50
 
|game6= tkoh
|version6= 1.00
 
|game7= arma3
|version7= 0.50
 
|arg= global
 
|gr1= Variables
 
|descr= Checks whether the tested item is null.<br>
Which null type the item has to be equal to depends on the type of game entity tested:
Which null type the item has to be equal to depends on the type of game entity tested:


{{{!}} class{{=}}"wikitable" style{{=}}"text-align: center"
{{{!}} class="wikitable" style="text-align: center"
! [[:Category:Data Types|Type]]
! [[:Category:Data Types|Type]]
{{!}} [[Object]]
{{!}} [[Object]]
Line 20: Line 37:
{{!}} [[Location]]
{{!}} [[Location]]
{{!}} [[Task]]
{{!}} [[Task]]
{{!}} [[Script]]
{{!}} [[Script Handle|Script]]
{{!}} [[Config]]
{{!}} [[Config]]
{{!}} [[Diary Record]]
{{!}} [[Diary Record]]
{{!}} [[Team Member]]
{{!}}-
{{!}}-
! Null value
! Null value
Line 34: Line 52:
{{!}} [[configNull]]
{{!}} [[configNull]]
{{!}} [[diaryRecordNull]]
{{!}} [[diaryRecordNull]]
{{!}}- style{{=}}"font-size: .85em"
{{!}} [[teamMemberNull]]
{{!}}- style="font-size: .85em"
! Since
! Since
{{!}} {{Name|ofp|short}} v1.00
{{!}} colspan="2" {{!}} {{GVI|ofp|1.00}}
{{!}} {{Name|ofp|short}} v1.00
{{!}} colspan="2" {{!}} {{GVI|arma1|1.00}}
{{!}} {{Name|arma|short}} v1.00
{{!}} colspan="2" {{!}} {{GVI|arma2|1.00}}
{{!}} {{Name|arma|short}} v1.00
{{!}} {{GVI|arma3|1.30}}
{{!}} {{Name|arma2|short}} v1.00
{{!}} {{GVI|arma3|1.54}}
{{!}} {{Name|arma2|short}} v1.00
{{!}} {{GVI|arma3|2.00}}
{{!}} {{Name|arma3|short}} v1.29.127075
{{!}} {{GVI|arma3|2.10}}
{{!}} {{Name|arma3|short}} v1.53.133130
{{!}} {{Name|arma3|short}} v1.99.146508
{{!}}}
{{!}}}


{{Important | A test via {{=}}{{=}} does '''not''' work, because a null value is not equal to anything, not even itself ([[configNull]] being the exception).
{{Feature|important|2= A test ''via'' [[a == b|==]] does '''not''' work because a null value is not equal to anything, not even itself ([[configNull]] being the exception).
See also [[isEqualTo]].}} |DESCRIPTION=
See also [[isEqualTo]].}}


|pr= [[teamMemberNull]] for [[Team Member]] type is '''not''' supported. Use {{Inline code|[[private]] _isNull {{=}} _teamMember [[isEqualTo]] [[teamMemberNull]]}} instead. |PROBLEMS=
|s1= [[isNull]] entity
____________________________________________________________________________________________


| [[isNull]] entity |SYNTAX=
|p1= entity: [[Object]], [[Control]], [[Display]], [[Group]], [[Location]], [[Task]], [[Script Handle]], [[Config]] or [[Diary Record]]


|p1 = entity: [[Object]], [[Control]], [[Display]], [[Group]], [[Location]], [[Task]], [[Script]], [[Config]] or [[Diary Record]] |PARAMETER1=
|r1= [[Boolean]]


| [[Boolean]] |RETURNVALUE=
|x1= <sqf>
____________________________________________________________________________________________
if (isNil "obj") exitWith { hint "obj variable is undefined" };


|x1 = <code>[[if]] ([[isNull]] obj) [[then]] {[[hint]] "doesn't exist";};</code>
if (isNull obj) then
{
hint "obj variable is defined but is null";
}
else
{
hint "obj variable is defined and is not null";
};
</sqf>


| [[controlNull]], [[displayNull]], [[grpNull]], [[locationNull]], [[objNull]], [[taskNull]], [[teamMemberNull]], [[scriptNull]], [[configNull]], [[typeName]]|SEEALSO=
|x2= [[Diary Record]] support before {{GVI|arma3|2.00}}:
}}
<sqf>
private _nullRecord = objNull createDiaryRecord []; // wrong parameters = failure to create a record = null value
private _createdRecord = player createDiaryRecord ["Diary", ["title", "description"]];
if (_createdRecord isEqualTo _nullRecord) then { hint "Failed" };
</sqf>


<h3 style="display:none">Notes</h3>
[[Team Member]] support before {{GVI|arma3|2.10}}:
<dl class="command_description">
<sqf>private _isNull = _teamMember isEqualTo teamMemberNull;</sqf>
<!-- Note Section BEGIN -->
<!-- Note Section END -->
</dl>


<h3 style="display:none">Bottom Section</h3>
|seealso= [[controlNull]] [[displayNull]] [[grpNull]] [[locationNull]] [[objNull]] [[taskNull]] [[teamMemberNull]] [[scriptNull]] [[configNull]] [[typeName]]
[[Category:Scripting Commands OFP 1.46|{{uc:{{PAGENAME}}}}]]
}}
[[Category:Scripting Commands OFP 1.96|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands OFP 1.99|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Armed Assault|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Take On Helicopters|{{uc:{{PAGENAME}}}}]]
[[Category:Command Group: Object Information|{{uc:{{PAGENAME}}}}]]
[[Category:Command Group: Variables|{{uc:{{PAGENAME}}}}]]

Latest revision as of 21:32, 19 September 2024

Hover & click on the images for description

Description

Description:
Checks whether the tested item is null.
Which null type the item has to be equal to depends on the type of game entity tested:
Type Object Group Control Display Location Task Script Config Diary Record Team Member
Null value objNull grpNull controlNull displayNull locationNull taskNull scriptNull configNull diaryRecordNull teamMemberNull
Since Logo A0.png1.00 Logo A1 black.png1.00 Logo A2.png1.00 Arma 3 logo black.png1.30 Arma 3 logo black.png1.54 Arma 3 logo black.png2.00 Arma 3 logo black.png2.10
A test via == does not work because a null value is not equal to anything, not even itself (configNull being the exception). See also isEqualTo.
Groups:
Variables

Syntax

Syntax:
isNull entity
Parameters:
entity: Object, Control, Display, Group, Location, Task, Script Handle, Config or Diary Record
Return Value:
Boolean

Examples

Example 1:
if (isNil "obj") exitWith { hint "obj variable is undefined" }; if (isNull obj) then { hint "obj variable is defined but is null"; } else { hint "obj variable is defined and is not null"; };
Example 2:
Diary Record support before Arma 3 logo black.png2.00:
private _nullRecord = objNull createDiaryRecord []; // wrong parameters = failure to create a record = null value private _createdRecord = player createDiaryRecord ["Diary", ["title", "description"]]; if (_createdRecord isEqualTo _nullRecord) then { hint "Failed" };
Team Member support before Arma 3 logo black.png2.10:
private _isNull = _teamMember isEqualTo teamMemberNull;

Additional Information

See also:
controlNull displayNull grpNull locationNull objNull taskNull teamMemberNull scriptNull configNull typeName

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