Метод getRange
Iterable<E> getRange(Возвращает Iterable, который итерирует по объектам в диапазоне start включительно до end невключительно.
Указанный диапазон, заданный start и end, должен быть допустимым на момент вызова.
Диапазон от start до end является допустимым, если 0 <= start <= end <= len, где len - это размер этого списка. Диапазон начинается с start и имеет длину end - start. Пустой диапазон (с end == start) также допустим.
Возвращаемый Iterable ведет себя как skip(start).take(end - start). То есть, он не выбрасывает исключение, если размер этого списка изменяется.
List<String> colors = ['red', 'green', 'blue', 'orange', 'pink'];
Iterable<String> range = colors.getRange(1, 4);
range.join(', '); // 'green, blue, orange'
colors.length = 3;
range.join(', '); // 'green, blue'
Исходный код
Iterable<E> getRange(int start, int end) {
RangeError.checkValidRange(start, end, this.length);
return new SubListIterable<E>(this, start, end);
}
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-collection/ListMixin/getRange.html