Spec-Zone.ru › Dart 2

dart:collection

метод getRange

Iterable<E> getRange(
  1. int start,
  2. int end
)
override

Создаёт 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API