From f529a58f10b11aef397c8653b693af9e10447810 Mon Sep 17 00:00:00 2001 From: kobewi Date: Fri, 12 Nov 2021 21:38:27 +0100 Subject: [PATCH] Improve sort_custom() example --- doc/classes/Array.xml | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml index 275b217247e..b74d4c1d3d5 100644 --- a/doc/classes/Array.xml +++ b/doc/classes/Array.xml @@ -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