# last property

E last
override

Returns the last element.

Throws a StateError if `this` is empty. Otherwise may iterate through the elements and returns the last one seen. Some iterables may have more efficient ways to find the last element (for example a list can directly access the last element, without iterating through the previous ones).

## Implementation

    E get last {
      if (length == 0) throw IterableElementError.noElement();
      return this[length - 1];
    }

void last= (E value)
override

Updates the last position of the list to contain `value`.

Equivalent to `theList[theList.length - 1] = value;`.

The list must be non-empty.

## Implementation

    void set last(E value) {
      if (length == 0) throw IterableElementError.noElement();
      this[length - 1] = value;
    }