Comprensiones en Julia
Arma un arreglo desde una expresión, un rango y un filtro opcional.
mags = [2.1, 5.8, 3.4, 7.2, 4.9]
# A comprehension maps an expression over a range or collection.
fluxes = [10.0^(-0.4m) for m in mags]
println(round.(fluxes, digits = 3))
# A trailing if filters while it builds.
naked_eye = [m for m in mags if m <= 6.0]
println("$(length(naked_eye)) naked-eye targets")
# Two generators nest into pairs.
grid = [(row, col) for row in 1:2, col in 1:3]
println(grid)
Cómo funciona
[10.0^(-0.4m) for m in mags]mapea — nota el multiplicar implícito.- Un
ifal final filtra mientras construye. - Dos generadores separados por coma arman un arreglo 2-D.
Palabras clave y builtins usados aquí
forifin
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 402
- Tokens
- 94
- Ritmo de tres estrellas
- 65 tpm
Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 87 segundos.
Paso 3 de 3 en Control de flujo; paso 6 de 27 en Fundamentos del lenguaje.