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 · 디스패치 테이블의 상수 폴백
always는 orElse 인자로 쓰기에 딱 맞습니다.
특히 cases에서 그렇습니다 —
매칭되지 않은 값을 들여다볼 필요가 없는 고정 기본값이니까요:
직접 해 보기
연습: always를 사용해 이 리스트의 모든 점수를 문자열
'graded'로 바꿔 보세요.