param: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " *\| *PARAMETER[0-9]{1,3} *= * " to " ")
m (Text replacement - " *\|Parameter[0-9]{1,}= * " to " ")
Line 27: Line 27:
|p21= argument: [[Anything]] - A usual array of params is expected. If a non-array value is passed, it will be converted to 1 element array
|p21= argument: [[Anything]] - A usual array of params is expected. If a non-array value is passed, it will be converted to 1 element array


|p22= [index, defaultValue, expectedDataTypes, expectedArrayCount]: [[Array]] |Parameter22=
|p22= [index, defaultValue, expectedDataTypes, expectedArrayCount]: [[Array]]
|p23= index: [[Number]] - index of required item in the input array.|Parameter23=
|p23= index: [[Number]] - index of required item in the input array.
|p24= defaultValue (Optional): [[Anything]] - a default value to return if input is undefined, of the wrong type or of the wrong length (if the item is an array).|Parameter24=
|p24= defaultValue (Optional): [[Anything]] - a default value to return if input is undefined, of the wrong type or of the wrong length (if the item is an array).
|p25= expectedDataTypes (Optional): [[Array]] of direct [[Data Types]] - checks if passed value is one of listed [[Data Types]]. If not, default value is used instead. Empty array [] means every data type is accepted.|Parameter25=
|p25= expectedDataTypes (Optional): [[Array]] of direct [[Data Types]] - checks if passed value is one of listed [[Data Types]]. If not, default value is used instead. Empty array [] means every data type is accepted.
|p26= expectedArrayCount (Optional): [[Number]] or [[Array]] - a single size or array of sizes. If passed input value is an array, checks that it has a certain number of elements. If not, default value is used instead. Empty array [] means any size is accepted. |Parameter26=
|p26= expectedArrayCount (Optional): [[Number]] or [[Array]] - a single size or array of sizes. If passed input value is an array, checks that it has a certain number of elements. If not, default value is used instead. Empty array [] means any size is accepted.
|r2= [[Anything]] - extracted value on success or default value otherwise. [[Nothing]] if syntax error occurred.
|r2= [[Anything]] - extracted value on success or default value otherwise. [[Nothing]] if syntax error occurred.
   
   

Revision as of 17:21, 7 February 2021

Hover & click on the images for description

Description

Description:
Description needed
Groups:
VariablesArrays

Syntax

Syntax:
Syntax needed
Parameters:
[index, defaultValue, expectedDataTypes, expectedArrayCount]: Array
index: Number - index of required item in the input array.
defaultValue (Optional): Anything - a default value to return if input is undefined, of the wrong type or of the wrong length (if the item is an array).
expectedDataTypes (Optional): Array of direct Data Types - checks if passed value is one of listed Data Types. If not, default value is used instead. Empty array [] means every data type is accepted.
expectedArrayCount (Optional): Number or Array - a single size or array of sizes. If passed input value is an array, checks that it has a certain number of elements. If not, default value is used instead. Empty array [] means any size is accepted.
Return Value:
Return value needed

Alternative Syntax

Syntax:
argument param [index, defaultValue, expectedDataTypes, expectedArrayCount]
Parameters:
argument: Anything - A usual array of params is expected. If a non-array value is passed, it will be converted to 1 element array
[index, defaultValue, expectedDataTypes, expectedArrayCount]: Array
index: Number - index of required item in the input array.
defaultValue (Optional): Anything - a default value to return if input is undefined, of the wrong type or of the wrong length (if the item is an array).
expectedDataTypes (Optional): Array of direct Data Types - checks if passed value is one of listed Data Types. If not, default value is used instead. Empty array [] means every data type is accepted.
expectedArrayCount (Optional): Number or Array - a single size or array of sizes. If passed input value is an array, checks that it has a certain number of elements. If not, default value is used instead. Empty array [] means any size is accepted.
Return Value:
Anything - extracted value on success or default value otherwise. Nothing if syntax error occurred.

Examples

Example 1:
[1, 2, 3] call { private _one = param [0, 1]; private _two = param [1, 2]; private _three = param [2, 3]; // ... };
Example 2:
[123] call { private _val = param [0]; }; // Below would produce the same result as above 123 call { private _val = param [0]; };
Example 3:
_z = position player param [2, 0]; if (_z > 10) then { hint "YOU ARE FLYING!"; };
Example 4:
fnc = { private _pos = param [0, [0,0,0], [objNull, []], [2,3]]; private _rad = param [1, 0, [0]]; _pos nearObjects _rad; }; [position player, 25] call fnc; // ok [player, 25] call fnc; // ok [25, player] call fnc; // default values are used

Additional Information

See also:
See also needed

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
Posted on November 8, 2016 - 07:50 (UTC)
Demellion
You can also use param in a complex with another commands. For example call, compile and format: ["var = 2"] call { call compile format ["%1", param [0,"",[""]]]; // compiled param string value hint str (var); // 2 };