typeName: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Some wiki formatting)
(Add NaN and some missing versions)
 
Line 30: Line 30:
* "[[Group|GROUP]]"
* "[[Group|GROUP]]"
* "[[Object|OBJECT]]"
* "[[Object|OBJECT]]"
* "[[Number|SCALAR]]"
* "[[Number|SCALAR]]" (and "[[Number|NaN]]")
* "[[Script Handle|SCRIPT]]"
* "[[Script Handle|SCRIPT]]"
* "[[Side|SIDE]]"
* "[[Side|SIDE]]"
Line 55: Line 55:
|x2= <sqf>_unit = player; _result = typeName _unit; //_result becomes "OBJECT"</sqf>
|x2= <sqf>_unit = player; _result = typeName _unit; //_result becomes "OBJECT"</sqf>


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


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

Latest revision as of 20:28, 26 September 2024

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.

Arma 3
For type comparison, use isEqualType command instead.
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 1e39; // NaN hint typeName ""; // STRING hint typeName true; // BOOL hint typeName []; // ARRAY hint typeName {}; // CODE (since hint typeName scriptNull; // SCRIPT (since Arma 3 v1.32) hint typeName objNull; // OBJECT hint typeName grpNull; // GROUP hint typeName controlNull; // CONTROL hint typeName teamMemberNull; // TEAM_MEMBER (since Arma 2 v1.00) hint typeName displayNull; // DISPLAY hint typeName taskNull; // TASK (since Arma 2 v1.00) 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.