Spec-Zone.ru › Dart 2

dart:collection

Метод getRange

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

Создаёт 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.18.5/dart-collection/ListMixin/getRange.html

Spec-Zone.ru

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