selectMax: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
m (Text replacement - ">Posted on December ([0-9]{2})[ a-zA-Z]*, ([0-9]{4})" to ">Posted on $2-12-$1")
(53 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


|arma3|= Game name
|game1= arma3
|version1= 1.66


|1.66|= Game version
|gr1= Arrays
____________________________________________________________________________________________


|Returns the array element with [[max]]imum numerical value. Engine solution to [[BIS_fnc_greatestNum]] and [[BIS_fnc_findExtreme]]. Any [[Boolean]]s will be converted to [[Number]]s: [[true]] <nowiki>=</nowiki>> 1, [[false]] <nowiki>=</nowiki>> 0. Other non [[Number]] elements are also permitted, but their value will be treated as 0.|= Description
|descr=Returns the array element with [[max]]imum numerical value. Engine solution to [[BIS_fnc_greatestNum]] and [[BIS_fnc_findExtreme]]. Therefore it is expected that supplied array consists of [[Number]]s only. [[Boolean]]s however are also supported and will be evaluated as [[Number]]s: [[true]] - 1, [[false]] - 0.  [[nil]] value treated as 0.  
____________________________________________________________________________________________
{{Feature | Warning | Other non [[Number]] elements (not recommended) will be evaluated as 0 and '''Bad conversion: scalar''' message will be logged into .[[rpt]].}}


|'''selectMax''' array |= Syntax
|s1= [[selectMax]] array


|p1= array: [[Array]] - array of anything
|p1= array: [[Array]] - array of [[Number]]s


| [[Anything]] - element with [[max]]imum numerical value |= Return value
|r1= [[Anything]] - element with [[max]]imum numerical value
____________________________________________________________________________________________
 
 
|x1= <sqf>_max = selectMax [1,2,3,4,5]; //5</sqf>
|x1= <code>_max = [[selectMax]] [1,2,3,4,5]; //5</code> |= Example 1
|x2= <sqf>// Same as, for example:  
|x2= <code>// Same as, for example:  
_max = _a max _b max _c max _d;
_max = _a [[max]] _b [[max]] _c [[max]] _d;
// Only faster:
// Only faster:
_max = [[selectMax]] [_a,_b,_c,_d];</code> |= Example 1
_max = selectMax [_a,_b,_c,_d];</sqf>
____________________________________________________________________________________________
 
| [[selectMin]], [[min]], [[max]], [[selectRandom]], [[select]]|= See also


|seealso= [[selectMin]] [[min]] [[max]] [[selectRandom]] [[select]] [[selectRandomWeighted]]
}}
}}
[[Category:Arma_3:_New_Scripting_Commands_List|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
<!-- CONTINUE Notes -->
<dl class="command_description">
<dl class="command_description">
<dd class="notedate">Posted on December 1, 2016 - 23:01 (UTC)</dd>
<dt class="note">[[User:Commy2|Commy2]]</dt>
<dd class="note">
Game will print "Bad conversion: scalar" error in RPT log if anything other than numbers was in the array.
</dd>
</dl>
<!-- DISCONTINUE Notes -->


<!-- CONTINUE Notes -->
<dt></dt>
<dl class="command_description">
<dd class="notedate">Posted on 2016-12-19 - 02:05 (UTC)</dd>
<dd class="notedate">Posted on December 19, 2016 - 02:05 (UTC)</dd>
<dt class="note">[[User:Longbow|Longbow]]</dt>
<dt class="note">[[User:Longbow|Longbow]]</dt>
<dd class="note">
<dd class="note">
Returns either number or boolean value, in case max value in array 0, command will return either 0 or false, which ever comes first.
Returns either number or boolean value, in case max value in array 0, command will return either 0 or false, which ever comes first.
Same for 1 and true values.
Same for 1 and true values.
<code>
<sqf>selectMax [false,0] // returns false
selectMax [false,0] // returns false
selectMax [0,false] // returns 0
selectMax [0,false] // returns 0
selectMax [true,1] // returns true
selectMax [true,1] // returns true
selectMax [1,true] // returns 1
selectMax [1,true] // returns 1
</code>
</sqf>
in case all values are equal or less than zero, command may also return other type of values
<sqf>selectMax ["",false,0,-1] // returns ""</sqf>
if nil value appears in array, other values are equal or less than zero, command returns nil
</dd>
</dd>
</dl>
<!-- DISCONTINUE Notes -->


<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on December 19, 2016 - 02:11 (UTC)</dd>
<dt class="note">[[User:Longbow|Longbow]]</dt>
<dd class="note">
continued ...
in case all values are equal or less than zero, command may also return other type of values
<code>
selectMax ["",false,0,-1] // returns ""
</code>
</dd>
</dl>
</dl>
<!-- DISCONTINUE Notes -->

Revision as of 00:13, 14 May 2023

Hover & click on the images for description

Description

Description:
Returns the array element with maximum numerical value. Engine solution to BIS_fnc_greatestNum and BIS_fnc_findExtreme. Therefore it is expected that supplied array consists of Numbers only. Booleans however are also supported and will be evaluated as Numbers: true - 1, false - 0. nil value treated as 0.
Other non Number elements (not recommended) will be evaluated as 0 and Bad conversion: scalar message will be logged into .rpt.
Groups:
Arrays

Syntax

Syntax:
selectMax array
Parameters:
array: Array - array of Numbers
Return Value:
Anything - element with maximum numerical value

Examples

Example 1:
_max = selectMax [1,2,3,4,5]; //5
Example 2:
// Same as, for example: _max = _a max _b max _c max _d; // Only faster: _max = selectMax [_a,_b,_c,_d];

Additional Information

See also:
selectMin min max selectRandom select selectRandomWeighted

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 2016-12-19 - 02:05 (UTC)
Longbow
Returns either number or boolean value, in case max value in array 0, command will return either 0 or false, which ever comes first. Same for 1 and true values.
selectMax [false,0] // returns false selectMax [0,false] // returns 0 selectMax [true,1] // returns true selectMax [1,true] // returns 1
in case all values are equal or less than zero, command may also return other type of values
selectMax ["",false,0,-1] // returns ""
if nil value appears in array, other values are equal or less than zero, command returns nil