duplicate_pattern_assignment_variable 진단: 패턴에서 변수를 두 번 할당할 때
duplicate_pattern_assignment_variable 진단: 패턴에서 변수를 두 번 할당할 때
Dart 분석기가 만들어 내는 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;
}