to method

Iterable<int> to(
  1. int end, {
  2. int step = 1,
})

Return an Iterable which generates its elements dynamically begin from this number to end number

Implementation

Iterable<int> to(int end, {int step = 1}) {
  if (step < 1) {
    throw ArgumentError(
        'Invalid step size: $step. Step size must be greater than 0');
  }
  final count = ((end - this).abs() / step).ceil();
  // Explicit type declaration required for function argument.
  final int Function(int) generator = this >= end
      ? (index) => this - (step * index)
      : (index) => this + (step * index);
  return Iterable<int>.generate(count, generator);
}