matches
커링된 isMatch — 패턴을 한 번 묶어 두고 재사용 가능한 술어를 돌려받습니다.
bool Function(Object? target) matches(Object? pattern)
강의
isMatch(target, pattern)은 두 인자를 한꺼번에 받아야 해서
filter, find, every처럼 인자 하나짜리
bool Function(A)를 원하는 자리에 넘기기가 불편합니다.
matches(pattern)은 패턴을 클로저로 감싸 바로 그 형태를
반환합니다.
matches(pattern)(target) == isMatch(target, pattern)이 성립하죠.
술어를 한 번 만들어 두고 파이프라인 전체에서 재사용하세요.
Dart에서는 범용 커링을 타입 추론으로 표현할 수 없기 때문에, FxDart는 이렇게
두 인자 함수마다 커링 형태를 따로 제공합니다 — 왜 범용 버전이 없는지
궁금하다면 deprecated된 최상위 curry를 보세요 — 대신 이처럼
목적에 맞게 만든 커링 형태는 아주 잘 동작합니다.
데모 1 · 기본
데모 2 · filter/find에 그대로 끼워 넣기
직접 해 보기
연습: matches로 {'active': true}에 대한 술어를 만들어 users를 걸러 보세요.
관련 항목:
isMatch — 이 함수가 커링하는 두 인자 버전 ·
filter — 가장 자주 끼워 넣게 되는 자리 ·
find — 첫 번째로 일치하는 값만 얻기 ·
predicates — 곧바로 쓸 수 있는 다른 검사 함수들