위치 필드가 하나뿐인 레코드 리터럴에는 후행 쉼표가 필요해요
위치 필드가 하나뿐인 레코드 리터럴에는 후행 쉼표가 필요해요
위치 필드(positional field)를 정확히 하나만 가진 레코드 리터럴(record literal)은 그 필드 뒤에 후행 쉼표(trailing comma)가 필요해요. 이 진단은 그 쉼표가 빠졌을 때 알려줘요.
본문
Dart 분석기(analyzer)는 위치 필드를 하나만 가진 레코드 리터럴이 그 필드 뒤에 후행 쉼표를 갖고 있지 않을 때 이 진단을 내요.
어떤 위치에서는 위치 필드를 하나만 가진 레코드 리터럴이 괄호로 감싼 표현식(parenthesized expression)으로도 해석될 수 있어요. 그래서 이 두 가지 모두 유효한 해석 사이를 구분하기 위해 후행 쉼표가 필요한 거예요.
예시
아래 코드는 레코드 리터럴이 위치 필드를 하나만 갖고 있는데 후행 쉼표가 없어서 이 진단이 발생해요.
var r = const (1);
일반적인 해결 방법
후행 쉼표를 추가하면 돼요.
var r = const (1,);
더 알아보기
- record_type_one_positional_no_trailing_comma: 레코드 타입에서 같은 문제가 발생하는 관련 진단이에요.
- Dart 언어: 레코드: 레코드 리터럴이 어떻게 쓰이는지 배울 수 있어요.