19 lines
487 B
Zig
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;
|
|
}
|
|
}
|