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 — 곧바로 쓸 수 있는 다른 검사 함수들