# last property

Touch 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

    Touch get last {
      int len = this.length;
      if (len > 0) {
        return JS('Touch', '#[#]', this, len - 1);
      }
      throw new StateError("No elements");
    }

void last= (Touch value)
inherited

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