Translate

sábado, 23 de marzo de 2024

Los bloques { } en Gleam


import gleam/io


pub fn main() {

  let fahrenheit = {

    let degrees = 64

    degrees

  }

  // io.debug(degrees) // <- This will not compile


  // Changing order of evaluation

  let celsius = { fahrenheit - 32 } * 5 / 9

  io.debug(celsius)

}


Los bloques son una o más expresiones agrupadas entre llaves. Cada expresión se evalúa en orden y se devuelve el valor de la última expresión.

Cualquier variable asignada dentro del bloque solo se puede utilizar dentro del bloque.

Los bloques { } también se pueden utilizar para cambiar el orden de evaluación de expresiones de operadores binarios.

* se resuelve antes que + por lo que la expresión 1 + 2 * 3 se evalúa como 7. Si 1 + 2 debe evaluarse primero para que la expresión se evalúe como 9, entonces la expresión se puede envolver en un bloque: { 1 + 2 } * 3. Esto es similar a agrupar entre paréntesis en otros lenguajes.