interleave method
Interleaves this with other: a0, b0, a1, b1, .... Stops when the shorter runs out.
Returns a new list with elements from this and other interleaved.
Implementation
@useResult
List<T> interleave(Iterable<T> other) {
final Iterator<T> iterA = iterator;
final Iterator<T> iterB = other.iterator;
final List<T> result = <T>[];
while (true) {
if (iterA.moveNext()) {
result.add(iterA.current);
} else {
break;
}
if (iterB.moveNext()) {
result.add(iterB.current);
} else {
break;
}
}
return result;
}