aboutsummaryrefslogtreecommitdiff
path: root/lib/slice.ha
blob: 7cd2e304c73277df603f6f90620eac53a672688c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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");
};