description

# getRange method Null safety

Iterable<E> getRange (

1. int start,
2. int end

)
override

Returns an Iterable that iterates over the objects in the range `start` inclusive to `end` exclusive.

The provided range, given by `start` and `end`, must be valid at the time of the call.

A range from `start` to `end` is valid if `0 <= start <= end <= len`, where `len` is this list's `length`. The range starts at `start` and has length `end - start`. An empty range (with `end == start`) is valid.

The returned Iterable behaves like `skip(start).take(end - start)`. That is, it does not throw if this list changes size.

    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'

## Implementation

    Iterable<E> getRange(int start, int end) {
      RangeError.checkValidRange(start, end, this.length);
      return SubListIterable<E>(this, start, end);
    }