метод getRange
Создаёт Iterable, выполняющий итерацию по диапазону элементов.
Возвращённый Iterable выполняет итерацию по элементам этого списка, позиции которых больше или равны start и меньше end.
Указанный диапазон, start и end, должен быть допустимым на момент вызова. Диапазон от start до end допустим, если 0 ≤ start ≤ end ≤ length. Пустой диапазон (с end == start) допустим.
Возвращённый Iterable ведёт себя как skip(start).take(end - start). То есть он не прерывает работу, если размер этого списка изменяется, а просто завершается раньше, если доходит до конца списка раньше времени (если end или даже start становится больше length).
final colors = <String>['red', 'green', 'blue', 'orange', 'pink'];
final firstRange = colors.getRange(0, 3);
print(firstRange.join(', ')); // red, green, blue
final secondRange = colors.getRange(2, 5);
print(secondRange.join(', ')); // blue, orange, pink Реализация
Iterable<E> getRange(int start, int end) {
RangeError.checkValidRange(start, end, this.length);
return SubListIterable<E>(this, start, end);
}
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-collection/ListMixin/getRange.html