Merge pull request #75625 from AThousandShips/min_max_example

Document how to make custom min/max for Array
This commit is contained in:
Yuri Sizov 2023-04-10 20:09:52 +02:00 committed by GitHub
commit b5e7842989
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -441,12 +441,23 @@
<return type="Variant" />
<description>
Returns the maximum value contained in the array if all elements are of comparable types. If the elements can't be compared, [code]null[/code] is returned.
To find the maximum value using a custom comparator, you can use [method reduce]. In this example every array element is checked and the first maximum value is returned:
[codeblock]
func _ready():
var arr = [Vector2(0, 1), Vector2(2, 0), Vector2(1, 1), Vector2(1, 0), Vector2(0, 2)]
# In this example we compare the lengths.
print(arr.reduce(func(max, val): return val if is_length_greater(val, max) else max))
func is_length_greater(a, b):
return a.length() &gt; b.length()
[/codeblock]
</description>
</method>
<method name="min" qualifiers="const">
<return type="Variant" />
<description>
Returns the minimum value contained in the array if all elements are of comparable types. If the elements can't be compared, [code]null[/code] is returned.
See also [method max] for an example of using a custom comparator.
</description>
</method>
<method name="pick_random" qualifiers="const">