Merge pull request #54928 from KoBeWi/sorting_vegetables

This commit is contained in:
Rémi Verschelde 2021-11-13 00:19:28 +01:00 committed by GitHub
commit 19571c9c4b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 8 deletions

View File

@ -477,15 +477,19 @@
[b]Note:[/b] You cannot randomize the return value as the heapsort algorithm expects a deterministic result. Doing so will result in unexpected behavior.
[codeblocks]
[gdscript]
class MyCustomSorter:
static func sort_ascending(a, b):
if a[0] < b[0]:
return true
return false
func sort_ascending(a, b):
if a[0] < b[0]:
return true
return false
var my_items = [[5, "Potato"], [9, "Rice"], [4, "Tomato"]]
my_items.sort_custom(MyCustomSorter.sort_ascending)
print(my_items) # Prints [[4, Tomato], [5, Potato], [9, Rice]].
func _ready():
var my_items = [[5, "Potato"], [9, "Rice"], [4, "Tomato"]]
my_items.sort_custom(sort_ascending)
print(my_items) # Prints [[4, Tomato], [5, Potato], [9, Rice]].
# Descending, lambda version.
my_items.sort_custom(func(a, b): return a[0] > b[0])
print(my_items) # Prints [[9, Rice], [5, Potato], [4, Tomato]].
[/gdscript]
[csharp]
// There is no custom sort support for Godot.Collections.Array