typeName: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\[\[Category:[ _]?Scripting[ _]Commands[ _]Arma[ _]3(\|.*)\]\]" to "{{GameCategory|arma3|Scripting Commands}}")
m (Fix)
 
(95 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Command|Comments=
{{RV|type=command
____________________________________________________________________________________________


| arma1 |Game name=
|game1= arma1
|version1= 1.00


|1.00|Game version=
|game2= arma2
|version2= 1.00


|gr1= Variables |GROUP1=
|game3= arma2oa
____________________________________________________________________________________________
|version3= 1.50


| Returns the [[:Category:Data Types|data type]] of an expression.  
|game4= tkoh
|version4= 1.00
 
|game5= arma3
|version5= 0.50
 
|gr1= Variables
 
|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]]"
* "[[Bool|BOOL]]"
* "[[Boolean|BOOL]]"
* "[[Code|CODE]]"
* "[[Code|CODE]]"
* "[[Config|CONFIG]]"
* "[[Config|CONFIG]]"
Line 19: Line 29:
* "[[Display|DISPLAY]]"
* "[[Display|DISPLAY]]"
* "[[Group|GROUP]]"
* "[[Group|GROUP]]"
* "[[Location|LOCATION]]"
* "[[Object|OBJECT]]"
* "[[Object|OBJECT]]"
* "[[Scalar|SCALAR]]"
* "[[Number|SCALAR]]" (and "[[Number|NaN]]")
* "[[Script|SCRIPT]]"
* "[[Script Handle|SCRIPT]]"
* "[[Side|SIDE]]"
* "[[Side|SIDE]]"
* "[[String|STRING]]"
* "[[String|STRING]]"
* "[[Text|TEXT]]"
* "[[Structured Text|TEXT]]"
* "[[Team Member|TEAM_MEMBER]]"
* {{GVI|arma1|1.08|size= 0.75}} "[[Location|LOCATION]]"
* "[[Namespace|NAMESPACE]]"
* {{GVI|arma2|1.00|size= 0.75}} "[[Team Member|TEAM_MEMBER]]"
* "[[Diary Record|DIARY_RECORD]]"
* {{GVI|arma2|1.00|size= 0.75}} "[[Namespace|NAMESPACE]]"
* "[[Task|TASK]]"
* {{GVI|arma2|1.00|size= 0.75}} "[[Diary Record|DIARY_RECORD]]"
They represent the available [[Data_Types|data types]] in Arma.
* {{GVI|arma2|1.00|size= 0.75}} "[[Task|TASK]]"
{{Informative|For comparing types, use [[isEqualType]] command instead in {{arma3}}}}|DESCRIPTION=
* {{GVI|arma3|2.02|size= 0.75}} "[[HashMap|HASHMAP]]"
____________________________________________________________________________________________
}}
They represent the available [[:Category:Data Types|Data Types]] in {{arma}}.
{{Feature|arma3|For type comparison, use [[isEqualType]] command instead.}}


| '''typeName''' anything |SYNTAX=
|s1= [[typeName]] anything


|p1= anything: [[Anything]] |PARAMETER1=
|p1= anything: [[Anything]]


| [[String]] |RETURNVALUE=
|r1= [[String]]
____________________________________________________________________________________________
 
|x1= <code>_msg = "hello"; _result = [[typeName]] _msg;  //_result will be "STRING"</code> |EXAMPLE1=
|x2= <code>_unit = [[player]]; _result = [[typeName]] _unit; //_result becomes "OBJECT"</code> |EXAMPLE2=


|x3= Values representing direct [[Data Types]]:<code>[[hint]] [[typeName]] 0; //SCALAR
|x1= <sqf>_msg = "hello"; _result = typeName _msg; //_result will be "STRING"</sqf>
[[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.53.133130)
[[hint]] [[typeName]] [[missionNamespace]]; //NAMESPACE
[[hint]] [[typeName]] [[diaryRecordNull]]; //DIARY_RECORD (Since Arma 3 v1.99.146508)</code> |EXAMPLE3=


|x4= <code>[[if]] ([[typeName]] _this [[!=]] "ARRAY") [[exitWith]] {
|x2= <sqf>_unit = player; _result = typeName _unit; //_result becomes "OBJECT"</sqf>
[[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 {{arma3}}
[[if]] !(_this [[isEqualType]] []) [[exitWith]] {
[[hint]] "_this is not an array!"
</code> |EXAMPLE4=
____________________________________________________________________________________________


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


|x4= <sqf>
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 {{arma3}}
if !(_this isEqualType []) exitWith { hint "_this is not an array!" };
</sqf>
|seealso= [[isEqualTypeAll]] [[isEqualType]] [[isEqualTypeParams]] [[isEqualTypeArray]] [[isEqualTypeAny]] [[typeOf]] [[isKindOf]] [[isClass]] [[isArray]] [[isNumber]] [[isText]] [[isNil]] [[isNull]]
}}
}}


<h3 style="display:none">Notes</h3>
{{Note
<dl class="command_description">
|user= Killzone_Kid
<!-- Note Section BEGIN -->
|timestamp= 20160925111400
 
|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]].
<!-- Note Section END -->
}}
</dl>
 
<h3 style="display:none">Bottom Section</h3>
[[Category:Scripting Commands|TYPENAME]]
{{GameCategory|arma1|Scripting Commands}}
[[Category:Scripting Commands Arma 2|{{uc:{{PAGENAME}}}}]]
{{GameCategory|arma3|Scripting Commands}}
[[Category:Scripting Commands Take On Helicopters|{{uc:{{PAGENAME}}}}]]
 
<!-- CONTINUE Notes -->
<dl class="command_description">
<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 <tt>ANY</tt>, however this is not possible to test as script command is just ignored when any argument is [[nil]]
</dd>
</dl>
<!-- DISCONTINUE Notes -->

Latest revision as of 17:16, 28 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 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.