summaryrefslogtreecommitdiff
path: root/doc/classes/Array.xml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/classes/Array.xml')
-rw-r--r--doc/classes/Array.xml65
1 files changed, 54 insertions, 11 deletions
diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml
index 6852fb5228..94181db95f 100644
--- a/doc/classes/Array.xml
+++ b/doc/classes/Array.xml
@@ -123,6 +123,48 @@
</constructor>
</constructors>
<methods>
+ <method name="all" qualifiers="const">
+ <return type="bool" />
+ <argument index="0" name="method" type="Callable" />
+ <description>
+ Calls the provided [Callable] on each element in the array and returns [code]true[/code] if the [Callable] returns [code]true[/code] for [i]all[/i] elements in the array. If the [Callable] returns [code]false[/code] for one array element or more, this method returns [code]false[/code].
+ The callable's method should take one [Variant] parameter (the current array element) and return a boolean value.
+ [codeblock]
+ func _ready():
+ print([6, 10, 6].all(greater_than_5)) # Prints True (3 elements evaluate to `true`).
+ print([4, 10, 4].all(greater_than_5)) # Prints False (1 elements evaluate to `true`).
+ print([4, 4, 4].all(greater_than_5)) # Prints False (0 elements evaluate to `true`).
+
+ print([6, 10, 6].all(func(number): return number &gt; 5)) # Prints True. Same as the first line above, but using lambda function.
+
+ func greater_than_5(number):
+ return number &gt; 5
+ [/codeblock]
+ See also [method any], [method filter], [method map] and [method reduce].
+ [b]Note:[/b] Unlike relying on the size of an array returned by [method filter], this method will return as early as possible to improve performance (especially with large arrays).
+ </description>
+ </method>
+ <method name="any" qualifiers="const">
+ <return type="bool" />
+ <argument index="0" name="method" type="Callable" />
+ <description>
+ Calls the provided [Callable] on each element in the array and returns [code]true[/code] if the [Callable] returns [code]true[/code] for [i]one or more[/i] elements in the array. If the [Callable] returns [code]false[/code] for all elements in the array, this method returns [code]false[/code].
+ The callable's method should take one [Variant] parameter (the current array element) and return a boolean value.
+ [codeblock]
+ func _ready():
+ print([6, 10, 6].any(greater_than_5)) # Prints True (3 elements evaluate to `true`).
+ print([4, 10, 4].any(greater_than_5)) # Prints True (1 elements evaluate to `true`).
+ print([4, 4, 4].any(greater_than_5)) # Prints False (0 elements evaluate to `true`).
+
+ print([6, 10, 6].any(func(number): return number &gt; 5)) # Prints True. Same as the first line above, but using lambda function.
+
+ func greater_than_5(number):
+ return number &gt; 5
+ [/codeblock]
+ See also [method all], [method filter], [method map] and [method reduce].
+ [b]Note:[/b] Unlike relying on the size of an array returned by [method filter], this method will return as early as possible to improve performance (especially with large arrays).
+ </description>
+ </method>
<method name="append">
<return type="void" />
<argument index="0" name="value" type="Variant" />
@@ -194,7 +236,7 @@
<return type="void" />
<argument index="0" name="value" type="Variant" />
<description>
- Removes the first occurrence of a value from the array. To remove an element by index, use [method remove_at] instead.
+ Removes the first occurrence of a value from the array. If the value does not exist in the array, nothing happens. To remove an element by index, use [method remove_at] instead.
[b]Note:[/b] This method acts in-place and doesn't return a value.
[b]Note:[/b] On large arrays, this method will be slower if the removed element is close to the beginning of the array (index 0). This is because all elements placed after the removed element have to be reindexed.
</description>
@@ -232,6 +274,7 @@
func remove_1(number):
return number != 1
[/codeblock]
+ See also [method any], [method all], [method map] and [method reduce].
</description>
</method>
<method name="find" qualifiers="const">
@@ -333,6 +376,7 @@
func negate(number):
return -number
[/codeblock]
+ See also [method filter], [method reduce], [method any] and [method all].
</description>
</method>
<method name="max" qualifiers="const">
@@ -398,6 +442,7 @@
func sum(accum, number):
return accum + number
[/codeblock]
+ See also [method map], [method filter], [method any] and [method all].
</description>
</method>
<method name="remove_at">
@@ -511,60 +556,58 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Array" />
<description>
+ Compares the left operand [Array] against the [code]right[/code] [Array]. Returns [code]true[/code] if the sizes or contents of the arrays are [i]not[/i] equal, [code]false[/code] otherwise.
</description>
</operator>
<operator name="operator +">
<return type="Array" />
<argument index="0" name="right" type="Array" />
<description>
+ Concatenates two [Array]s together, with the [code]right[/code] [Array] being added to the end of the [Array] specified in the left operand. For example, [code][1, 2] + [3, 4][/code] results in [code][1, 2, 3, 4][/code].
</description>
</operator>
<operator name="operator &lt;">
<return type="bool" />
<argument index="0" name="right" type="Array" />
<description>
+ Performs a comparison for each index between the left operand [Array] and the [code]right[/code] [Array], considering the highest common index of both arrays for this comparison: Returns [code]true[/code] on the first occurrence of an element that is less, or [code]false[/code] if the element is greater. Note that depending on the type of data stored, this function may be recursive. If all elements are equal, it compares the length of both arrays and returns [code]false[/code] if the left operand [Array] has less elements, otherwise it returns [code]true[/code].
</description>
</operator>
<operator name="operator &lt;=">
<return type="bool" />
<argument index="0" name="right" type="Array" />
<description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
- <description>
+ Performs a comparison for each index between the left operand [Array] and the [code]right[/code] [Array], considering the highest common index of both arrays for this comparison: Returns [code]true[/code] on the first occurrence of an element that is less, or [code]false[/code] if the element is greater. Note that depending on the type of data stored, this function may be recursive. If all elements are equal, it compares the length of both arrays and returns [code]true[/code] if the left operand [Array] has less or the same number of elements, otherwise it returns [code]false[/code].
</description>
</operator>
<operator name="operator ==">
<return type="bool" />
<argument index="0" name="right" type="Array" />
<description>
+ Compares the left operand [Array] against the [code]right[/code] [Array]. Returns [code]true[/code] if the sizes and contents of the arrays are equal, [code]false[/code] otherwise.
</description>
</operator>
<operator name="operator &gt;">
<return type="bool" />
<argument index="0" name="right" type="Array" />
<description>
+ Performs a comparison for each index between the left operand [Array] and the [code]right[/code] [Array], considering the highest common index of both arrays for this comparison: Returns [code]true[/code] on the first occurrence of an element that is greater, or [code]false[/code] if the element is less. Note that depending on the type of data stored, this function may be recursive. If all elements are equal, it compares the length of both arrays and returns [code]true[/code] if the [code]right[/code] [Array] has more elements, otherwise it returns [code]false[/code].
</description>
</operator>
<operator name="operator &gt;=">
<return type="bool" />
<argument index="0" name="right" type="Array" />
<description>
+ Performs a comparison for each index between the left operand [Array] and the [code]right[/code] [Array], considering the highest common index of both arrays for this comparison: Returns [code]true[/code] on the first occurrence of an element that is greater, or [code]false[/code] if the element is less. Note that depending on the type of data stored, this function may be recursive. If all elements are equal, it compares the length of both arrays and returns [code]true[/code] if the [code]right[/code] [Array] has more or the same number of elements, otherwise it returns [code]false[/code].
</description>
</operator>
<operator name="operator []">
<return type="void" />
<argument index="0" name="index" type="int" />
<description>
+ Returns a reference to the element of type [Variant] at the specified location. Arrays start at index 0. [code]index[/code] can be a zero or positive value to start from the beginning, or a negative value to start from the end. Out-of-bounds array access causes a run-time error, which will result in an error being printed and the project execution pausing if run from the editor.
</description>
</operator>
</operators>