intersperseOuter<T> function
Puts element
between every element in list
and at the bounds of list
.
Example:
final list1 = intersperseOuter(2, <int>[]); // [];
final list2 = intersperseOuter(2, [0]); // [2, 0, 2];
final list3 = intersperseOuter(2, [0, 0]); // [2, 0, 2, 0, 2];
Implementation
Iterable<T> intersperseOuter<T>(T element, Iterable<T> iterable) sync* {
final iterator = iterable.iterator;
if (iterable.isNotEmpty) {
yield element;
}
while (iterator.moveNext()) {
yield iterator.current;
yield element;
}
}