Cómo usar defn en Clojure – Resuelto

La función defn es la manera estándar en Clojure para definir funciones con nombre. Permite crear funciones reutilizables que pueden ser invocadas en cualquier lugar del código.

Uso básico de defn

Podemos definir una función simple con defn de la siguiente forma:

(defn suma [a b] (+ a b))

En este ejemplo, hemos definido una función llamada suma que toma dos parámetros a y b y devuelve su suma.

Definir funciones con parámetros opcionales

También podemos definir funciones que aceptan parámetros opcionales. Por ejemplo:

(defn greet ([name] (str "Hello, " name)) ([name lang] (str "Hello, " name "! " lang)))