getArray: Difference between revisions
|  (Add BIS_fnc_returnConfigEntry as an enhanced fnc to bis_fnc_getcfgdata) | m (note format) | ||
| Line 27: | Line 27: | ||
| <dl class="command_description"> | <dl class="command_description"> | ||
| <!-- Note Section BEGIN --> | <!-- Note Section BEGIN --> | ||
| <dd class="notedate">Posted on Mar 28, 2014 - 07: | <dd class="notedate">Posted on Mar 28, 2014 - 07:52 | ||
| <dt class="note">'''[[User:ffur2007slx2_5|ffur2007slx2_5]]'''<dd class="note"> | <dt class="note">'''[[User:ffur2007slx2_5|ffur2007slx2_5]]'''<dd class="note"> | ||
| (ArmA3 1.14) It's recommended to use [[BIS_fnc_GetCfgData]] or [[BIS_fnc_returnConfigEntry]] to get variable cfg data rather than conditioning via [[isNumber]], [[isText]], [[isArray]], [[getNumber]], [[getText]] and [[getArray]] combination.<br> | |||
| Traditional workaround: | Traditional workaround: | ||
| <code> | <code> | ||
| _cfg =  | _cfg = [[configFile]] >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type" | ||
| switch (true) do | [[switch]] ( [[true]] ) [[do]] | ||
| { | { | ||
| 	case (isNumber _cfg): {getNumber _cfg}; | 	[[case]] ([[isNumber]] _cfg): {[[getNumber]] _cfg}; | ||
| 	case (isText _cfg): {getText _cfg}; | 	[[case]] ([[isText]] _cfg): {[[getText]] _cfg}; | ||
| 	case (isArray _cfg): {getArray _cfg;}; | 	[[case]] ([[isArray]] _cfg): {[[getArray]] _cfg;}; | ||
| 	default {nil}; | 	[[default]] { nil }; | ||
| }; | }; | ||
| </code> | </code> | ||
| '''Recommended workaround:''' | '''Recommended workaround:''' | ||
| <code> | <code> | ||
| ( | ([[configFile]] >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") [[call]] [[BIS_fnc_GetCfgData]]; | ||
| </code> | </code> | ||
| To return default value once entry was not found, we can use [[BIS_fnc_returnConfigEntry]] instead of [[ | To return default value once entry was not found, we can use [[BIS_fnc_returnConfigEntry]] instead of [[BIS_fnc_GetCfgData]]. e.g. | ||
| <code> | <code> | ||
| [( | [([[configFile]] >> "CannonFire" >> "LightExp"),"lifeTime",0] [[call]] [[BIS_fnc_returnConfigEntry]];//0.5 | ||
| </code> | |||
| To compose collected [[String]] into [[Array]], use [[BIS_fnc_getCfgDataArray]] instead. E.g. | |||
| <code> | |||
| ([[configFile]] >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") [[call]] [[BIS_fnc_getCfgDataArray]]; | |||
| </code> | </code> | ||
| <!-- Note Section END --> | <!-- Note Section END --> | ||
Revision as of 13:32, 19 July 2014
Description
- Description:
- Extract array from config entry.
- Groups:
- Uncategorised
Syntax
Examples
- Example 1:
- _array = getArray (configFile >> "CfgVehicles" >> "Thing" >> "threat") 
Additional Information
- See also:
- configFileconfig/nameconfigNamecountgetTextgetNumberinheritsFromisArrayisClassisNumberisTextselect
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
Notes
- Posted on Mar 28, 2014 - 07:52
- ffur2007slx2_5
- 
(ArmA3 1.14) It's recommended to use BIS_fnc_GetCfgData or BIS_fnc_returnConfigEntry to get variable cfg data rather than conditioning via isNumber, isText, isArray, getNumber, getText and getArray combination.
 Traditional workaround:_cfg = configFile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type" switch ( true ) do { case (isNumber _cfg): {getNumber _cfg}; case (isText _cfg): {getText _cfg}; case (isArray _cfg): {getArray _cfg;}; default { nil }; };Recommended workaround:(configFile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") call BIS_fnc_GetCfgData;To return default value once entry was not found, we can use BIS_fnc_returnConfigEntry instead of BIS_fnc_GetCfgData. e.g.[(configFile >> "CannonFire" >> "LightExp"),"lifeTime",0] call BIS_fnc_returnConfigEntry;//0.5To compose collected String into Array, use BIS_fnc_getCfgDataArray instead. E.g.(configFile >> "CfgVehicles" >> _SomeAddonClassName >> "DestructionEffects" >> "Smoke1" >> "type") call BIS_fnc_getCfgDataArray;
