Vincular símbolos a valores dentro de um contexto com let


A forma especial let é utilizada para vincular símbolos a valores dentro de um contexto específico chamado escopo léxico.

Cada let pode definir zero ou mais vinculações (bindings) e conter zero ou mais expressões em seu corpo.

A estrutura sintática segue o padrão:

(let [nome valor] código-que-usa-o-nome)

As vinculações são definidas dentro de um vetor de pares, permitindo a organização de valores locais necessários para um cálculo específico.

(let [preco-base 100
      quantidade 3
      taxa       0.15
      subtotal   (* preco-base quantidade)]
  (println "Calculando o total com impostos...")
  (+ subtotal (* subtotal taxa)))

O valor de retorno de um bloco let segue a regra de invocação de funções, sendo o resultado da última expressão avaliada no seu corpo.

Referências


https://clojure.org/guides/learn/functions#_let