gpt4 book ai didi

for-loop - 初始化 Dart 中的列表列表

转载 作者:行者123 更新时间:2023-12-02 09:20:01 24 4
gpt4 key购买 nike

我在 Dart 中实现了一个网格,如下所示:

class Cell {
int row;
int col;
Cell(this.row, this.col);
}

class Grid {
List<List<Cell>> rows = new List(GRID_SIZE);
Grid() {
rows.fillRange(0, rows.length, new List(GRID_SIZE));
}
}

而且我似乎无法找到一种方法来使用正确的 rowcol 值初始化每个单元格:我尝试使用两个嵌套的 for 循环,如下所示

for(int i = 0; i < GRID_SIZE; i++) {
for(int j = 0; j < GRID_SIZE; j++) {
rows[i][j] = new Cell(i, j);
}
}

但由于描述了 Dart 的闭包错误保护 here ,我的网格最终填充了 row 成员中具有 GRID_SIZE - 1 的单元格。

那么,在 Dart 中初始化嵌套列表的惯用方式是什么?

最佳答案

我想这就是你想要的:

class Grid {
List<List<Cell>> rows; // = new List(GRID_SIZE);
Grid() {
rows = new List.generate(GRID_SIZE, (i) =>
new List.generate(GRID_SIZE, (j) => new Cell(i, j)));
}
}

另见 Dart: List of Lists

关于for-loop - 初始化 Dart 中的列表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43413423/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com