# last property

E last
inherited

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 {
      Iterator<E> it = iterator;
      if (!it.moveNext()) {
        throw IterableElementError.noElement();
      }
      E result;
      do {
        result = it.current;
      } while (it.moveNext());
      return result;
    }

void last= (E value)

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);