generate method
Generate the values for the range.
Handy with for loops.
Example:
final list = <int>[];
final range = Range(stop: 10);
for (var i in range.generate()) {
list.add(i);
}
print(list);
Result: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Implementation
Iterable<num> generate() sync* {
if (start <= stop) {
final lastValue = stopExclusive ? stop : stop + step;
for (num i = start; i < lastValue; i += step) {
yield i;
}
} else {
final lastValue = stopExclusive ? stop : stop - step;
for (num i = start; i > lastValue; i -= step) {
yield i;
}
}
}