Dart 함수형 프로그래밍 심화 강의 수강
형변환 함수(toString, int.parse / tryParse, double.parse / tryParse, toList, toSet, asMap)
컬렉션에서 자주 쓰는 고차 함수(map, where, firstWhere, lastWhere, reduce, fold, any, every, takeWhile, skipWhile)
메서드 체이닝 예시들을 통해 함수 조합하는 패턴 연습
where → map → reduce, where → map → fold 등
toString() : 숫자 → 문자열로 변환
int.parse / double.parse : 문자열 → 숫자 (실패 시 에러)
int.tryParse / double.tryParse : 문자열 → 숫자 (실패 시 null로 안전하게 처리)
toList() / toSet() : 컬렉션 타입 간 변환 (Set은 자동으로 중복 제거)
asMap() : List를 index → 값 형태의 Map으로 변경
map : 모든 요소에 같은 연산을 적용해 새 컬렉션 생성
where : 조건을 만족하는 요소만 필터링
firstWhere / lastWhere : 조건을 만족하는 첫/마지막 요소 반환 (없으면 에러)
reduce : 컬렉션을 하나의 값으로 만들기 (초기값 없음, 타입 동일해야 함)
fold : 초기값부터 시작해서 누적 계산 (빈 리스트도 안전, 반환 타입 자유로움)
any : 하나라도 조건 만족하면 true
every : 모두 조건 만족해야 true
takeWhile : 처음부터 조건이 참인 동안만 가져오기
skipWhile : 처음부터 조건이 참인 부분은 건너뛰고, 나머지 전부 가져오기
컬렉션 + 고차 함수 + 메서드 체이닝으로 for문/if문을 줄이고,
데이터 흐름을 함수 조합으로 표현하는 연습
로또/장바구니 같은 지난 과제 코드에도 map / where / fold를 적용해서 리팩토링 버전 한 번 시도해보기
내일도 화이팅!!!