Jaa


Antaa

Let-lauseke

Let-lauseketta voidaan käyttää arvon sieppaamiseen muuttujan välilaskelmasta.

let-expression:
      letvariable-list in lauseke
variable-list:
      muuttuja
      variable variable-list
,
muuttuja:
      variable-name-lauseke
=
variable-name:
      tunniste

Seuraavassa esimerkissä näytetään keskiarvotulokset, jotka lasketaan ja tallennetaan muuttujissa x, yja z , joita käytetään myöhemmin laskennassa x + y + z:

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

Tämän lausekkeen tulos on:

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

Seuraava pätee, kun arvioidaan lausekkeita let-expression:

  • Muuttujaluetteloiden lausekkeissa määritetään uusi vaikutusalue, joka sisältää tunnisteet variable-list-tuotannossa , ja niiden on oltava olemassa arvioitaessa lausekkeita variable-list-tuotannoissa . Lausekkeet variable-list-luettelossa saattavat viitata toisiinsa.

  • Lausekkeet variable-list-luettelossa on arvioitava ennen kuin let-expression-lauseke arvioidaan.

  • Ellei variable-list-lausekkeita voi käyttää, niitä ei saa arvioida.

  • Virheet, jotka ilmenevät lausekkeiden let-expression arvioinnin aikana, välitetään.

Let-lauseketta voidaan pitää syntaktisena sokerina implisiittisen tietuelausekkeen yli. Seuraava lauseke vastaa yllä olevaa esimerkkiä:

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