Răsfoiți Sursa

Give example of one-liner for Array natural sort

The documentation for the sort method warns the user that it doesn't do natural sort but fails to provide a solution when it's just a one liner thanks to String.naturalnocasecmp_to() and lambda support

This suggests exactly the same algorithm as used by the filesystem dock for file sorting.

Co-authored-by: Hugo Locurcio <[email protected]>
Lisandro Lorea 3 ani în urmă
părinte
comite
176a9c738f
1 a modificat fișierele cu 6 adăugiri și 0 ștergeri
  1. 6 0
      doc/classes/Array.xml

+ 6 - 0
doc/classes/Array.xml

@@ -470,6 +470,12 @@
 				// There is no sort support for Godot.Collections.Array
 				[/csharp]
 				[/codeblocks]
+				To perform natural order sorting, you can use [method sort_custom] with [method String.naturalnocasecmp_to] as follows:
+				[codeblock]
+				var strings = ["string1", "string2", "string10", "string11"]
+				strings.sort_custom(func(a, b): return a.naturalnocasecmp_to(b) &lt; 0)
+				print(strings) # Prints [string1, string2, string10, string11]
+				[/codeblock]
 			</description>
 		</method>
 		<method name="sort_custom">