单个属性

E single

检查这个可迭代的元素只有一个,并返回该元素。

如果this是空的或有多个元素,将引发一个StateError。此操作将不会迭代过第二个元素。

实现

E get single {
  Iterator<E> it = iterator;
  if (!it.moveNext()) throw IterableElementError.noElement();
  E result = it.current;
  if (it.moveNext()) throw IterableElementError.tooMany();
  return result;
}