diff options
Diffstat (limited to 'lib/slice.ha')
| -rw-r--r-- | lib/slice.ha | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/slice.ha b/lib/slice.ha new file mode 100644 index 0000000..7cd2e30 --- /dev/null +++ b/lib/slice.ha @@ -0,0 +1,21 @@ +use fmt; + +export fn slice_remove_empty(slice: *[]str) void = { + for (let i = 0z; i < len(slice); i += 1) { + if (slice[i] == "") { + delete(slice[i]); + i -= 1; + }; + }; +}; + +@test fn slice_remove_empty() void = { + const slice: []str = alloc(["autumn", "", "winter"])!; + defer free(slice); + + slice_remove_empty(&slice); + + assert(len(slice) == 2); + assert(slice[0] == "autumn"); + assert(slice[1] == "winter"); +}; |
