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)만 골라 평균을 내 보세요.

관련 항목: sum — 평균을 구할 때의 분자 · size — 평균을 구할 때의 분모 · min · max — 나머지 숫자 종결 연산자