always

인자를 무시하고 언제나 같은 고정값을 반환하는 함수를 반환합니다.

T Function([Object? _]) always<T>(T a) => ([Object? _]) => a;

강의

always(a)a를 클로저에 담아, 무엇을 인자로 받든 버리고 매번 a를 반환하는 함수를 돌려줍니다. 파라미터가 선택적이라는 점이 핵심인데, 덕분에 단항 콜백이 필요한 어느 자리에나 그대로 들어맞습니다 — 매퍼, orElse 핸들러, 폴백 분기 등 — 매번 (_) => a를 직접 쓸 필요가 없습니다.

identity의 상수 버전이라고 보면 됩니다. identity는 입력을 그대로 통과시키고, always는 입력을 버립니다. 둘 다 비동기 변형이나 체인 형태가 없는 평범한 동기 함수입니다.

데모 1 · 기본

선택적 인자에 주목하세요 — greet(123)도 여전히 'hi'를 반환하며, 그래서 map 콜백으로 쓸 수 있습니다:

데모 2 · 디스패치 테이블의 상수 폴백

alwaysorElse 인자로 쓰기에 딱 맞습니다. 특히 cases에서 그렇습니다 — 매칭되지 않은 값을 들여다볼 필요가 없는 고정 기본값이니까요:

직접 해 보기

연습: always를 사용해 이 리스트의 모든 점수를 문자열 'graded'로 바꿔 보세요.

관련 항목: identity — 대신 인자를 그대로 통과시킴 · cases — orElse 자리에 always와 자주 짝을 이루는 디스패치 테이블 · when — 값을 받아 값을 내놓는 조건부 변환 · memoize — 상수가 아니라 계산된 값을 캐싱