メインコンテンツにスキップ

duplicate_pattern_assignment_variable

変数「{0}」は、このパターンで既に代入されています。

説明

#

この診断は、単一のパターン変数が同じパターン代入内で複数回値に代入された場合に、アナライザーによって生成されます。

#

以下のコードは、パターン (a, a) で変数 a が二重に代入されているため、この診断を生成します。

dart
int f((int, int) r) {
  int a;
  (a, a) = r;
  return a;
}

一般的な修正

#

すべての値をキャプチャする必要がある場合は、マッチングされるサブパターンのそれぞれに一意の変数を使用してください。

dart
int f((int, int) r) {
  int a, b;
  (a, b) = r;
  return a + b;
}

一部の値がキャプチャする必要がない場合は、ワイルドカードパターン _ を使用して、値を変数にバインドする必要がないようにしてください。

dart
int f((int, int) r) {
  int a;
  (_, a) = r;
  return a;
}