inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

Dart #3 함수형 프로그래밍 (Functional Programming)

ParsedPeople.where((x)=>x.group==‘BTS’); 에서 x가 어떻게 person 클래스의 Instance인가

44

kimsangwon29960631

작성한 질문수 9

0

 

image.png

parsedpeople은 people을 class에 파라미터값을 대입한 값들을 return값으로 가지는 list입니다. 즉, parsedpeople 리스트는 각 성분을 [person(name:지수,group:블랙핑크),person(name:로제,group:블랙핑크)•••]과 같은 형태인데 여기서 where함수를 취하면 그 각 x값들은 person(name:지수,group:블랙핑크) 을 가지는 것 아닌가요?? 강사님이 설명하신 것처럼 x가 인스턴스 이려면 이전에 설정한 person클래스의 person인스턴스를 사용해야하는 것 아닌가요??

 

class강의에서는 class의 변수를 사용하려면 인스턴스 만들어서 tt.Numbers와 같이 사용했습니다. 그런데 갑자기 어떻게 사용하셨는지 설명이 브족합니다

 

flutter 클론코딩

답변 2

0

코드팩토리

안녕하세요!

휴가중이라 답변이 늦었습니다. 죄송합니다.

map 함수는 리스트 멤버들을 순회하며 함수의 정의에 따라 반환하는 역할을 합니다.

where는 반환이 아니라 필터링하는 역할입니다.

찾으시는 답변이 맞을까요?

감사합니다!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
kimsangwon29960631님께서 질문하신 내용에 대해 설명드리겠습니다.

ParsedPeople.where((x) => x.group == 'BTS'); 구문에서 xparsedPeople 리스트의 각 요소를 의미합니다. parsedPeople 리스트의 각 요소는 Person 클래스의 인스턴스로 구성되어 있기 때문에, where 함수에서 x는 자연스럽게 Person 인스턴스가 됩니다.

parsedPeople 리스트는 이미 Person 객체의 리스트로 만들어져 있어, where 조건식 내부에서 x.group처럼 직접 그룹을 접근할 수 있습니다. 각 xPerson 인스턴스로, Person 클래스에서 정의된 프로퍼티 namegroup에 접근할 수 있는 것입니다.

Person 클래스의 인스턴스를 사용해야 하는 이유는, 클래스가 정의한 멤버 변수와 메서드를 사용하기 위해서입니다. 이때, parsedPeople이라는 리스트는 이미 Person 클래스의 리스트로 정의되어 있어서, 리스트의 각 요소(x)도 자동으로 Person 인스턴스입니다.

문제를 이해하시는데 도움이 되셨길 바랍니다! 추가적인 설명이 필요하시면 언제든지 질문해주세요.

  • 코드 예시는 DartPad에서 실행할 수 있습니다: link

198강 (){onTap(e);}의 이해 돕기

0

53

1

video_call 플러그인 설치후 에러 발생

0

64

1

SDK 안드로이드 설치 질문!

0

77

1

코드팩토리 디스코드 링크 다시 부탁드려요~

0

106

1

Webview를 이용해서 URL 상의 페이지 출력 불가

0

88

1

홈스크린 함수를 함축해서 main.dart에 옮기는 문제

0

66

1

플레이스토어

0

69

1

아고라 엔진 init 함수의 반환타입이 Future<void> 이것의 의미는 무엇인가요?

0

61

1

가이드라인 질문

0

64

0

emulator 에러 환경설정 뭐가 문제 일까요??

0

87

1

emulator 실행 오류

0

107

3

Column을 가로방향 최대 사이즈를 차지하도록 하는 방법에 관련

0

76

1

pubspec.yaml에서 font를 추가하면서 weight 값을 지정하는 것이 의미가 있는 것인지 문의

0

51

1

setState()를 호출하지 않으면 build가 실행 안되는 건가요?

0

63

1

video_call 플러그인 설치시 에러문제

0

76

1

children 안의 if 문에서 { } 못쓰는 이유?

0

56

1

이렇게 오류가 떠요

0

78

1

AppBar 사용했는데

0

75

2

[문제해결] '오늘도 출첵!' 의 171번 강의에서 중요한 문제를 발견했습니다

0

67

1

StatefulWidget 실습 에러가 발생합니다.[해결완료]

0

67

1

Video Player 프로젝트에 대한 추가 질문

0

61

0

Row위젯이나 column위젯의 위치는 누가 정하나요??

0

46

1

geolocator 오류때문에 개발진행이 불가능입니다

0

69

1

API 관련 이슈

0

93

2