Deixe
Uma expressão let pode ser usada para capturar um valor de um cálculo intermediário em uma variável.
let-expression:
let
lista in
de variáveis expressão
lista de variáveis:
variável
,
lista de variáveis variáveis
variável:
expressão de nome =
variável
nome-variável:
identificador
O exemplo a seguir mostra resultados intermediários sendo calculados e armazenados em variáveis x
, y
e z
que são então usadas em um cálculo x + y + z
subsequente :
let x = 1 + 1,
y = 2 + 2,
z = y + 1
in
x + y + z
O resultado desta expressão é:
11 // (1 + 1) + (2 + 2) + (2 + 2 + 1)
O seguinte vale ao avaliar expressões dentro da let-expression:
As expressões na lista de variáveis definem um novo escopo contendo os identificadores da produção da lista de variáveis e devem estar presentes ao avaliar as expressões dentro das produções da lista de variáveis. As expressões dentro da lista de variáveis podem referir-se umas às outras.
As expressões dentro da lista de variáveis devem ser avaliadas antes que a expressão na let-expression seja avaliada.
A menos que as expressões na lista de variáveis sejam acessadas, elas não devem ser avaliadas.
Os erros que são gerados durante a avaliação das expressões na expressão let são propagados.
Uma expressão let pode ser vista como açúcar sintático sobre uma expressão de registro implícita. A seguinte expressão é equivalente ao exemplo acima:
[ x = 1 + 1,
y = 2 + 2,
z = y + 1,
result = x + y + z
][result]