exercism/zig/word-count/slices.zig
2024-07-28 17:45:02 -04:00

19 lines
487 B
Zig

const print = @import("std").debug.print;
pub fn main() void {
const numbers = [_]u8{ 1, 2, 3, 4, 5 };
m(&numbers, numbers[3..4]);
}
fn m(n: []const u8, s: []const u8) void {
print("{any}\n", .{s});
const max_ptr = @intFromPtr(n.ptr) + n.len;
if (max_ptr > (@intFromPtr(s.ptr) + s.len)) {
const start = @intFromPtr(s.ptr) - @intFromPtr(n.ptr);
const end = s.len + start + 1;
return m(n, n[start..end]);
} else {
return;
}
}