Clojure - Definindo uma função

Uma função é definida usando o ‘defn’macro. A seguir está a sintaxe geral da definição de uma função.

Sintaxe

(defn functionname
   “optional documentation string”
   [arguments]
   (code block))

Funções podem ter strings de documentação, o que é bom para descrever o que a função realmente faz.

Exemplo

A seguir está um exemplo simples de uma função.

(ns clojure.examples.hello
   (:gen-class))

;; This program displays Hello World
(defn Example []
   (def x 1)
   (def y 1.25)
   (def str1 "Hello")
   (println x)
   (println y)
   (println str1))
(Example)

No exemplo acima, o nome da função é Exemplo.

Resultado

1
1.25
Hello