Hagyja

Kifejezés hagyása

A let kifejezéssel egy változó köztes számításából származó értéket rögzíthet.

let-expression:
      letváltozólista-kifejezésin
változólista:
      Változó
      változó
,változólistája
Változó:
      változónév
=kifejezés
változó neve:
      Azonosító

Az alábbi példa azt mutatja be, hogy a köztes eredményeket változókban számítják ki és tárolják x, ymajd z egy későbbi számításban x + y + zhasználják őket:

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

A kifejezés eredménye a következő:

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

A let-kifejezésen belüli kifejezések kiértékelésekor az alábbiak érvényesek:

  • A változólistában szereplő kifejezések egy új hatókört határoznak meg, amely a változólista éles környezetéből származó azonosítókat tartalmazza, és jelen kell lenniük a változólista éles környezeteiben lévő kifejezések kiértékelésekor. A változólistában szereplő kifejezések egymásra hivatkozhatnak.

  • A változólistában lévő kifejezéseket a let-kifejezés kifejezésének kiértékelése előtt ki kell értékelni.

  • Hacsak nem férnek hozzá a változólistában szereplő kifejezésekhez, azokat nem szabad kiértékelni.

  • A let-kifejezésben lévő kifejezések kiértékelése során felmerülő hibák propagálása megtörténik.

A let kifejezés úgy tekinthető, mint szintaktikai cukor egy implicit rekordkifejezésen keresztül. A következő kifejezés egyenértékű a fenti példával:

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