chunk method

Iterable<Iterable<T>> chunk(
  1. int n
)

returns a list of list of length up to n. example

[0,1,2,3,4,5,6,7,8,9,10].chunk(3) // =>[[0,1,2],[3,4,5],[6,7,8],[9,10]]

Implementation

Iterable<Iterable<T>> chunk(int n) => n <= length
    ? Iterable<Iterable<T>>.generate(
        length % n == 0 ? length ~/ n : (length ~/ n) + 1,
        (k) => skip(k * n).take(n))
    : [this];