pub fn findLastLinear(comptime T: type, haystack: []const T, needle: []const T) ?usize T: typehaystack: []const Tneedle: []const T1452
1453
1454
1455
1456
1457
1458
1459pub fn findLastLinear(comptime T: type, haystack: []const T, needle: []const T) ?usize {
if (needle.len > haystack.len) return null;
var i: usize = haystack.len - needle.len;
while (true) : (i -= 1) {
if (mem.eql(T, haystack[i..][0..needle.len], needle)) return i;
if (i == 0) return null;
}
}
Find the index in a slice of a sub-slice, searching from the end backwards. To start looking at a different index, slice the haystack first. Consider using
lastIndexOfinstead of this, which will automatically use a more sophisticated algorithm on larger inputs.