duplicate_pattern_assignment_variable 진단: 패턴에서 변수를 두 번 할당할 때

duplicate_pattern_assignment_variable 진단: 패턴에서 변수를 두 번 할당할 때

Dart 분석기가 만들어 내는 duplicate_pattern_assignment_variable 진단에 대한 설명이에요. 패턴 할당에서 같은 변수에 값을 두 번 이상 넣으려 할 때 분석기가 알려주는 컴파일 타임 진단이에요.

출처: duplicate_pattern_assignment_variable

본문

설명

분석기는 하나의 패턴 변수가 같은 패턴 할당 안에서 값을 두 번 이상 할당받을 때 이 진단을 만들어요.

예시

다음 코드는 패턴 (a, a)에서 변수 a가 두 번 할당되기 때문에 이 진단을 만들어요.

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

흔한 해결 방법

모든 값을 모두 담아야 한다면, 매칭되는 각 하위 패턴마다 서로 고유한 변수를 사용해요.

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

일부 값은 굳이 담을 필요가 없다면, 와일드카드 패턴 _을 사용해 그 값을 변수에 바인딩하지 않게 해요.

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

더 알아보기