selectMax: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
m (Text replacement - "↵↵</sqf>" to " </sqf>")
 
(55 intermediate revisions by 4 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>
|x2= <code>// Same as, for example:  
// 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>
</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
in case all values are equal or less than zero, command may also return other type of values
<code>
<sqf>selectMax ["",false,0,-1] // returns ""</sqf>
selectMax ["",false,0,-1] // returns ""
if nil value appears in array, other values are equal or less than zero, command returns nil
</code>
</dd>
</dd>
</dl>
<!-- DISCONTINUE Notes -->


<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on December 19, 2016 - 02:17 (UTC)</dd>
<dt class="note">[[User:Longbow|Longbow]]</dt>
<dd class="note">
if nil value appears in array, other values are equal or less than zero, command returns nil
</dd>
</dl>
</dl>
<!-- DISCONTINUE Notes -->

Latest revision as of 19:48, 3 September 2024

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