Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Pozwalać

Wyrażenie Let

Wyrażenie let może służyć do przechwytywania wartości z obliczeń pośrednich w zmiennej.

wyrażenie let:
      let in lista zmiennych wyrażenie
lista zmiennych:
      zmienna
      lista zmiennych
,
zmienna:
      wyrażenie zmiennej nazwy
=
nazwa-zmiennej:
      identyfikator

W poniższym przykładzie przedstawiono wyniki pośrednie obliczane i przechowywane w zmiennych , yi z które są następnie używane w kolejnych obliczeniachxx + y + z:

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

Wynikiem tego wyrażenia jest:

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

Podczas obliczania wyrażeń w wyrażeniu let są przechowywane następujące zasady:

  • Wyrażenia na liście zmiennych definiują nowy zakres zawierający identyfikatory z produkcji listy zmiennych i muszą być obecne podczas oceniania wyrażeń w środowiskach produkcyjnych listy zmiennych. Wyrażenia na liście zmiennych mogą odwoływać się do siebie nawzajem.

  • Wyrażenia na liście zmiennych muszą być obliczane przed obliczeniu wyrażenia w wyrażeniu let.

  • Jeśli nie są dostępne wyrażenia na liście zmiennych, nie mogą być obliczane.

  • Błędy zgłaszane podczas obliczania wyrażeń w wyrażeniu let są propagowane.

Wyrażenie let może być postrzegane jako cukier składniowy na niejawnym wyrażeniu rekordu. Poniższe wyrażenie jest równoważne z powyższym przykładem:

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