Dart ListクラスreplaceRange()メソッド

Dar言語StreamクラスtoSet()メソッドDart

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

コメント

タイトルとURLをコピーしました