# List<E>.generate constructor

List<E>.generate(int length, E generator(int index), { bool growable: true })

Generates a list of values.

Creates a list with `length` positions and fills it with values created by calling `generator` for each index in the range `0` .. `length - 1` in increasing order.

    new List<int>.generate(3, (int index) => index * index); // [0, 1, 4]

The created list is fixed-length unless `growable` is true.

## Implementation

    factory List.generate(int length, E generator(int index),
        {bool growable = true}) {
      List<E> result;
      if (growable) {
        result = <E>[]..length = length;
      } else {
        result = List<E>(length);
      }
      for (int i = 0; i < length; i++) {
        result[i] = generator(i);
      }
      return result;
    }