prefer_for_elements_to_map_fromiterable 린트: iterable로 맵을 만들 땐 for 요소를 써요

prefer_for_elements_to_map_fromiterable 린트: iterable로 맵을 만들 땐 for 요소를 써요

Dart 분석기가 내보내는 진단에는 이름이 있어요. prefer_for_elements_to_map_fromiterableiterable에서 맵을 만들 때 Map.fromIterable 대신 for 요소로 만들 수 있는 상황에서 분석기가 알려주는 린트(lint) 규칙이에요. 더 명확한 for 요소 문법을 쓰는 게 좋아요.

출처: prefer_for_elements_to_map_fromiterable

본문

설명

분석기는 Map.fromIterable을 사용해 맵을 만들 때 그 맵을 for 요소로도 만들 수 있다면 이 진단을 만들어요.

다음 코드는 fromIterable을 사용해 맵을 만들고 있는데, 이 맵은 for 요소로도 만들 수 있어서 이 진단이 나와요.

void f(Iterable<String> data) {
  Map<String, int>.fromIterable(
    data,
    key: (element) => element,
    value: (element) => element.length,
  );
}

흔한 해결 방법

맵을 만들 때 for 요소를 사용해 주세요.

void f(Iterable<String> data) {
  <String, int>{for (var element in data) element: element.length};
}

더 알아보기