writeIterable<T> 静态方法

void writeIterable<T>(
  1. List<T> target,
  2. int at,
  3. Iterable<T> source
)

将可迭代对象的元素写入列表。

这是一个实用函数,可用于实现像 setAll 这样的方法。

source 的元素从位置 at 写入 target。在写入 target 的最后一个位置之后,source 不应包含更多元素。

如果源是一个列表,那么使用 copyRange 函数可能更有效。

实现

static void writeIterable<T>(List<T> target, int at, Iterable<T> source) {
  RangeError.checkValueInInterval(at, 0, target.length, "at");
  int index = at;
  int targetLength = target.length;
  for (var element in source) {
    if (index == targetLength) {
      throw IndexError.withLength(index, targetLength, indexable: target);
    }
    target[index] = element;
    index++;
  }
}