average
파이프라인이 만들어 내는 모든 숫자의 평균 — 하나도 없으면 NaN입니다.
double average(Iterable<num> iterable)
Future<double> averageAsync(FxAsyncIterable<num> iterable)
double Fx<num>.average() // chain (sync)
Future<double> FxAsync<num>.average() // chain (async)
강의
average는 파이프라인 전체를 한 번 순회하면서 누적 합과
누적 개수를 함께 추적한 뒤 나누는 종결 연산자입니다. 평범한
int 리스트에 대해서도 항상 double을
반환합니다.
꼭 기억해 둘 동작이 하나 있습니다. average는
비어 있는 이터러블에 대해 double.nan을 반환합니다 —
예외를 던지거나 0으로 대체하는 것이 아니라
0 / 0을 계산한 결과입니다. FxTS의 동작을 그대로
따릅니다. 파이프라인이 비어 있을 수 있다면, 숫자 기본값을 가정하지
말고 result.isNaN으로 명시적으로 확인하세요.
sum과 마찬가지로 체인 형태는
Fx<num> / FxAsync<num> 확장으로
제공됩니다. 따라서 체인의 원소 타입이 숫자임을 컴파일러가 알 수 있을
때에만 사용할 수 있습니다.
데모 1 · 기본 사용법 & 빈 경우
데모 2 · 비동기
직접 해 보기
연습: 합격 점수(>= 60)만 골라 평균을 내 보세요.