typeName: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>") |
Lou Montana (talk | contribs) m (Fix) |
||
(8 intermediate revisions by the same user not shown) | |||
Line 18: | Line 18: | ||
|gr1= Variables | |gr1= Variables | ||
|descr= Returns the [[:Category:Data Types| | |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 28: | Line 29: | ||
* "[[Display|DISPLAY]]" | * "[[Display|DISPLAY]]" | ||
* "[[Group|GROUP]]" | * "[[Group|GROUP]]" | ||
* "[[Object|OBJECT]]" | * "[[Object|OBJECT]]" | ||
* "[[Number|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]]" | ||
* "[[HashMap|HASHMAP]]" | * {{GVI|arma2|1.00|size= 0.75}} "[[Task|TASK]]" | ||
They represent the available [[ | * {{GVI|arma3|2.02|size= 0.75}} "[[HashMap|HASHMAP]]" | ||
{{Feature| | }} | ||
They represent the available [[:Category:Data Types|Data Types]] in {{arma}}. | |||
{{Feature|arma3|For type comparison, use [[isEqualType]] command instead.}} | |||
|s1= [[typeName]] anything | |s1= [[typeName]] anything | ||
Line 49: | Line 51: | ||
|r1= [[String]] | |r1= [[String]] | ||
|x1= < | |x1= <sqf>_msg = "hello"; _result = typeName _msg; //_result will be "STRING"</sqf> | ||
| | |x2= <sqf>_unit = player; _result = typeName _unit; //_result becomes "OBJECT"</sqf> | ||
< | |||
|x4= < | |x3= Values representing direct [[:Category:Data Types|Data Types]]: | ||
<sqf> | |||
} | hint typeName 0; // SCALAR | ||
//is the same as | hint typeName 1e39; // NaN | ||
if (typeName _this | hint typeName ""; // STRING | ||
hint typeName true; // BOOL | |||
} | hint typeName []; // ARRAY | ||
//same result but faster in {{arma3}} | hint typeName {}; // CODE | ||
if !(_this isEqualType []) exitWith { | 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]] | |seealso= [[isEqualTypeAll]] [[isEqualType]] [[isEqualTypeParams]] [[isEqualTypeArray]] [[isEqualTypeAny]] [[typeOf]] [[isKindOf]] [[isClass]] [[isArray]] [[isNumber]] [[isText]] [[isNil]] [[isNull]] | ||
}} | }} | ||
{{Note | |||
|user= Killzone_Kid | |||
|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]]. | |||
}} | |||
[[typeName]] of [[nil]] is {{hl|ANY}}, however this is not possible to test as script command is just ignored when any argument is [[nil]] | |||
Latest revision as of 17:16, 28 September 2024
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.
- Groups:
- Variables
Syntax
Examples
- Example 1:
- Example 2:
- 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:
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
Categories:
- Scripting Commands
- Introduced with Armed Assault version 1.00
- ArmA: Armed Assault: New Scripting Commands
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 2: Operation Arrowhead: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands
- Command Group: Variables