slice method
Implementation
String slice(int? start, [int? end]) {
start ??= 0;
if (start < 0) {
start += length;
if (start < 0) {
start = 0;
}
}
if (start >= length) {
return '';
}
end ??= length;
if (end < 0) {
end += length;
if (end < 0) {
end = 0;
}
}
if (end > length) {
end = length;
}
if (start > end) {
return '';
}
var out = '';
while (end != null && start <= --end) {
out = this[end] + out;
}
return out;
}