typeName: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>")
m (Some wiki formatting)
Line 18: Line 18:
|gr1= Variables
|gr1= Variables


|descr= Returns the [[:Category:Data Types|data type]] of an expression.  
|descr= Returns the [[:Category:Data Types|Data Type]] of an expression.  


The type is returned as on of the following all-uppercase strings:
The type is returned as on of the following all-uppercase strings:
{{Columns|5|
* "[[Array|ARRAY]]"
* "[[Array|ARRAY]]"
* "[[Boolean|BOOL]]"
* "[[Boolean|BOOL]]"
Line 40: Line 41:
* "[[Task|TASK]]"
* "[[Task|TASK]]"
* "[[HashMap|HASHMAP]]"
* "[[HashMap|HASHMAP]]"
They represent the available [[Data_Types|data types]] in Arma.
|shrink= y
{{Feature|Informative|For comparing types, use [[isEqualType]] command instead in {{arma3}}}}
}}
They represent the available [[:Category:Data Types|Data Types]] in {{arma}}.
{{Feature|informative|For comparing types, use [[isEqualType]] command instead in {{arma3}}.}}


|s1= [[typeName]] anything
|s1= [[typeName]] anything
Line 53: Line 56:


|x3= Values representing direct [[:Category: Data Types| Data Types]]:
|x3= Values representing direct [[:Category: Data Types| Data Types]]:
<code>hint typeName 0; //SCALAR
<sqf>
hint typeName ""; //STRING
hint typeName 0; // SCALAR
hint typeName true; //BOOL
hint typeName ""; // STRING
hint typeName []; //ARRAY
hint typeName true; // BOOL
hint typeName {}; //CODE
hint typeName []; // ARRAY
hint typeName objNull; //OBJECT
hint typeName {}; // CODE
hint typeName grpNull; //GROUP
hint typeName objNull; // OBJECT
hint typeName controlNull; //CONTROL
hint typeName grpNull; // GROUP
hint typeName teamMemberNull; //TEAM_MEMBER
hint typeName controlNull; // CONTROL
hint typeName displayNull; //DISPLAY
hint typeName teamMemberNull; // TEAM_MEMBER
hint typeName taskNull; //TASK
hint typeName displayNull; // DISPLAY
hint typeName locationNull; //LOCATION
hint typeName taskNull; // TASK
hint typeName sideUnknown; //SIDE
hint typeName locationNull; // LOCATION
hint typeName text ""; //TEXT
hint typeName sideUnknown; // SIDE
[[hint]] [[typeName]] [[configFile]]; //CONFIG
hint typeName text ""; // TEXT
[[hint]] [[typeName]] [[configNull]]; //CONFIG (Since Arma 3 v1.54)
hint typeName configFile; // CONFIG
[[hint]] [[typeName]] [[missionNamespace]]; //NAMESPACE
hint typeName configNull; // CONFIG (Since Arma 3 v1.54)
[[hint]] [[typeName]] [[diaryRecordNull]]; //DIARY_RECORD (Since Arma 3 v2.00)
hint typeName missionNamespace; // NAMESPACE
hint typeName createHashMap; //HASHMAP (Since Arma 3 v2.02)</code>
hint typeName diaryRecordNull; // DIARY_RECORD (Since Arma 3 v2.00)
hint typeName createHashMap; // HASHMAP (Since Arma 3 v2.02)
</sqf>


|x4= <code>if (typeName _this [[!=]] "ARRAY") exitWith {
|x4= <sqf>
hint "_this is not an array!"
if (typeName _this != "ARRAY") exitWith { hint "_this is not an array!" };
}
// is the same as
//is the same as  
if (typeName _this != typeName []) exitWith { hint "_this is not an array!" };
if (typeName _this [[!=]] typeName []) exitWith {
// same result but faster in Arma 3
hint "_this is not an array!"
if !(_this isEqualType []) exitWith { hint "_this is not an array!" };
}
</sqf>
//same result but faster in {{arma3}}
if !(_this isEqualType []) exitWith {
hint "_this is not an array!"</code>


|seealso= [[isEqualTypeAll]] [[isEqualType]] [[isEqualTypeParams]] [[isEqualTypeArray]] [[isEqualTypeAny]] [[typeOf]] [[isKindOf]] [[isClass]] [[isArray]] [[isNumber]] [[isText]] [[isNil]] [[isNull]]
|seealso= [[isEqualTypeAll]] [[isEqualType]] [[isEqualTypeParams]] [[isEqualTypeArray]] [[isEqualTypeAny]] [[typeOf]] [[isKindOf]] [[isClass]] [[isArray]] [[isNumber]] [[isText]] [[isNil]] [[isNull]]
}}
}}


 
{{Note
<dl class="command_description">
|user= Killzone_Kid
 
|timestamp= 20160925111400
<dt></dt>
|text= [[typeName]] of [[nil]] is {{hl|ANY}}, however this is not possible to test as script command is just ignored when any argument is [[nil]].
<dd class="notedate">Posted on September 25, 2016 - 11:14 (UTC)</dd>
}}
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
<dd class="note">
[[typeName]] of [[nil]] is {{hl|ANY}}, however this is not possible to test as script command is just ignored when any argument is [[nil]]
</dd>
 
</dl>

Revision as of 14:19, 12 May 2022

Hover & click on the images for description

Description

Description:
Returns the Data Type of an expression. The type is returned as on of the following all-uppercase strings:

They represent the available Data Types in Arma.

For comparing types, use isEqualType command instead in Arma 3.
Groups:
Variables

Syntax

Syntax:
typeName anything
Parameters:
anything: Anything
Return Value:
String

Examples

Example 1:
_msg = "hello"; _result = typeName _msg; //_result will be "STRING"
Example 2:
_unit = player; _result = typeName _unit; //_result becomes "OBJECT"
Example 3:
Values representing direct Data Types:
hint typeName 0; // SCALAR hint typeName ""; // STRING hint typeName true; // BOOL hint typeName []; // ARRAY hint typeName {}; // CODE hint typeName objNull; // OBJECT hint typeName grpNull; // GROUP hint typeName controlNull; // CONTROL hint typeName teamMemberNull; // TEAM_MEMBER hint typeName displayNull; // DISPLAY hint typeName taskNull; // TASK hint typeName locationNull; // LOCATION hint typeName sideUnknown; // SIDE hint typeName text ""; // TEXT hint typeName configFile; // CONFIG hint typeName configNull; // CONFIG (Since Arma 3 v1.54) hint typeName missionNamespace; // NAMESPACE hint typeName diaryRecordNull; // DIARY_RECORD (Since Arma 3 v2.00) hint typeName createHashMap; // HASHMAP (Since Arma 3 v2.02)
Example 4:
if (typeName _this != "ARRAY") exitWith { hint "_this is not an array!" }; // is the same as if (typeName _this != typeName []) exitWith { hint "_this is not an array!" }; // same result but faster in Arma 3 if !(_this isEqualType []) exitWith { hint "_this is not an array!" };

Additional Information

See also:
isEqualTypeAll isEqualType isEqualTypeParams isEqualTypeArray isEqualTypeAny typeOf isKindOf isClass isArray isNumber isText isNil isNull

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
Killzone_Kid - c
Posted on Sep 25, 2016 - 11:14 (UTC)
typeName of nil is ANY, however this is not possible to test as script command is just ignored when any argument is nil.