typestar

Bucles for en Scala

Tres formas del for: sobre una colección, sobre .indices y con dos generadores.

val stalls = Vector("bread", "honey", "cider", "wool")

// for ... do runs the body once per element.
def announceStalls(): Unit =
  for stall <- stalls do
    println("now open: " + stall)

// .indices gives the valid positions of a sequence.
def numberStalls(): Unit =
  for i <- stalls.indices do
    println(s"${i + 1}. ${stalls(i)}")

// Two generators nest: the second runs inside the first.
def stallGrid(): Unit =
  for
    row <- 1 to 3
    col <- 1 to 2
  do println(s"pitch $row-$col")

Cómo funciona

  1. for stall <- stalls do recorre el Vector e imprime una línea por elemento.
  2. for i <- stalls.indices do recorre posiciones, así stalls(i) se puede numerar.
  3. El último anida los generadores row <- 1 to 3 y col <- 1 to 2 sobre un solo do println(s"pitch $row-$col").

Palabras clave y builtins usados aquí

El intento, en números

Líneas
18
Caracteres a escribir
472
Tokens
95
Ritmo de tres estrellas
80 tpm

Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 71 segundos.

Escribe este fragmento

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

← Anterior Siguiente →