Číst v angličtině

Sdílet prostřednictvím


Nechat

Výraz Let

Výraz let lze použít k zachycení hodnoty z přechodného výpočtu v proměnné.

let-expression:
      letseznam proměnných in výraz
variable-list:
      proměnná
      seznam proměnných
,
proměnná:
      výraz variable-name
=
název proměnné:
      identifikátor

Následující příklad ukazuje průběžné výsledky, které se počítají a ukládají do proměnných x, ya z které se pak použijí při následném výpočtu x + y + z:

let     x = 1 + 1,
        y = 2 + 2,
        z = y + 1 
in
        x + y + z

Výsledkem tohoto výrazu je:

11  // (1 + 1) + (2 + 2) + (2 + 2 + 1)

Při vyhodnocování výrazů v rámci výrazu let-expression platí následující:

  • Výrazy v seznamu proměnných definují nový obor obsahující identifikátory z produkce seznamu proměnných a musí být přítomny při vyhodnocování výrazů v produkčních prostředích seznamu proměnných . Výrazy v seznamu proměnných můžou odkazovat na jeden druhý.

  • Výrazy v seznamu proměnných musí být vyhodnoceny před vyhodnocením výrazu let-expression.

  • Pokud nejsou výrazy v seznamu proměnných přístupné, nesmí se vyhodnocovat.

  • Chyby vyvolané při vyhodnocování výrazů v výrazu let se šíří.

Výraz let se dá považovat za syntaktický cukr přes implicitní výraz záznamu. Následující výraz je ekvivalentní výše uvedenému příkladu:

[     x = 1 + 1,
      y = 2 + 2,
      z = y + 1,
      result = x + y + z 
][result]