Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 , xi y które są następnie używane w kolejnych obliczeniachzx + 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]