Browse Source

Add doc comments to strings.split() and strings.split_n()

Tetralux 3 years ago
parent
commit
db5a1b0c78
1 changed files with 19 additions and 0 deletions
  1. 19 0
      core/strings/strings.odin

+ 19 - 0
core/strings/strings.odin

@@ -280,10 +280,29 @@ _split :: proc(s_, sep: string, sep_save, n_: int, allocator := context.allocato
 	return res[:i+1]
 }
 
+/*
+ * Splits a string into parts, based on a separator.
+ * Returned strings are substrings of 's'.
+ * ```
+ * s := "aaa.bbb.ccc.ddd.eee" // 5 parts
+ * ss := split(s, ".")
+ * fmt.println(ss)            // [aaa, bbb, ccc, ddd, eee]
+ * ```
+ */
 split :: proc(s, sep: string, allocator := context.allocator) -> []string {
 	return _split(s, sep, 0, -1, allocator)
 }
 
+/*
+ * Splits a string into a total of 'n' parts, based on a separator.
+ * Returns fewer parts if there wasn't enough occurrences of the separator.
+ * Returned strings are substrings of 's'.
+ * ```
+ * s := "aaa.bbb.ccc.ddd.eee" // 5 parts present
+ * ss := split_n(s, ".", 3)   // total of 3 wanted
+ * fmt.println(ss)            // [aaa, bbb, ccc.ddd.eee]
+ * ```
+ */
 split_n :: proc(s, sep: string, n: int, allocator := context.allocator) -> []string {
 	return _split(s, sep, 0, n, allocator)
 }