Estadísticas de colección en Smalltalk
max, min, average, count: — las colecciones se responden solas.
"Collections answer their own statistics."
| runs |
runs := #(120 340 85 500 210).
Transcript show: 'Max: ', runs max printString; cr.
Transcript show: 'Min: ', runs min printString; cr.
Transcript show: 'Sum: ', (runs inject: 0 into: [:a :b | a + b])
printString; cr.
Transcript show: 'Average: ', runs average printString; cr.
Transcript show: (runs count: [:n | n > 100]) printString,
' runs over 100'; cr.
Transcript show: (runs allSatisfy: [:n | n > 50]) printString; cr.
Transcript show: (runs anySatisfy: [:n | n > 450]) printString; cr.
Cómo funciona
maxyminno necesitan bucle.averageresponde una fracción exacta.count:,allSatisfy:yanySatisfy:toman predicados.
El intento, en números
- Líneas
- 14
- Caracteres a escribir
- 546
- Tokens
- 124
- Ritmo de tres estrellas
- 60 tpm
Al ritmo de tres estrellas de 60 tokens por minuto, este intento toma unos 124 segundos.
Paso 3 de 4 en Enumeración; paso 16 de 31 en Fundamentos del lenguaje.