typestar

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

  1. [10.0^(-0.4m) for m in mags] mapea — nota el multiplicar implícito.
  2. Un if al final filtra mientras construye.
  3. Dos generadores separados por coma arman un arreglo 2-D.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 3 de 3 en Control de flujo; paso 6 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →