我正在制作一個測驗應用程式,選項是這樣存盤的:
option1 = 'First option'
option2 = 'Second option'
option3 = 'Third option'
numberOfOptions = 3
由于某些問題將有 4 個備選方案,其他 2 個,我正在嘗試創建一種方法來動態檢索可用備選方案的數量。為此,我有numberOfOptions變數。基于這個數字,我需要得到所有小于它的自然數,直到 1(如示例中的 [1, 2, 3]),在那里我需要添加到'option'. 最終結果必須是:
['option1', 'option2', 'option3'];
目前,我所做的是:
void options() {
int numberOfOptions = 3;
for (int i = 0; i < numberOfOptions; i ) {
print('option${i 1}');
}
}
在我得到的輸出上option1, option2, option3,但我被困在試圖將它作為一個回傳List
uj5u.com熱心網友回復:
一種優雅的解決方案是使用List.generate()建構式并僅用一行代碼實作我們的目標:
List<String>.generate(numberOfOptions, (int index) => 'option${index 1}');
該List.generate()建構式有兩個引數:
- 長度;
- 具有索引變數的生成器函式;
您可以在官方檔案中閱讀更多相關資訊。
它很有用,因為它比 for 回圈更易于閱讀和精簡。
uj5u.com熱心網友回復:
您需要在 options() 函式中創建一個串列并將其填充到 foo 回圈中,如下所示:
List<String> options(int numberOfOptions) {
final List<String> options = [];
for (int i = 0; i < numberOfOptions; i ) {
print('option${i 1}');
options[i] = 'option${i 1}';
}
return options;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/362184.html
