Dart ListクラスのreplaceRange()メソッドについてメモ書き。
replaceRange()は指定した範囲の配列要素を置換するメソッド。
第1引数で置換を開始するインデックス位置、第2引数で置換を終了するインデックス位置、第3引数で置換する配列を指定する。第1引数以上、第2引数未満の配列要素が置換される。
可変長配列に対して実行できる。インデックス範囲を超えた値は指定できない。
コーディングでreplaceRange()メソッドを確認。
void main() {
try {
final listTest = <dynamic>[
"Apple",
"Orange",
"Banana",
"grape",
"Orange",
];
listTest.replaceRange(3, 4, [0, 1, 2, 3]);
print(listTest);
} catch (e) {
print(e.toString());
}
}
実行結果。
[Apple, Orange, Banana, 0, 1, 2, 3, Orange]
次はインデックス範囲を超えた値を指定する。
void main() {
try {
final listTest = <dynamic>[
"Apple",
"Orange",
"Banana",
"grape",
"Orange",
];
listTest.replaceRange(3, 6, [0, 1, 2, 3]);
print(listTest);
} catch (e) {
print(e.toString());
}
}
実行結果。
RangeErrorを返す。
RangeError (end): Invalid value: Not in inclusive range 3..5: 6
コメント