Interpolazione di una stringa

Clojure:
Interpolazione di una stringa

Come fare:

Clojure
; Usare `str` per concatenare le stringhe
(def nome "Marco")
(println (str "Ciao, " nome "!"))

; Uso di `format`
(println (format "Benvenuto %s, oggi è il %d!" "Luca" 14))

; Uso delle backquote e la macro `str`
(defn saluto [nome giorno]
  `(str "Buongiorno " ~nome ", come va il " ~giorno "?"))
(println (saluto "Giovanni" "Mercoledì"))

Output:

Ciao, Marco!
Benvenuto Luca, oggi è il 14!
Buongiorno Giovanni, come va il Mercoledì?

Approfondimento

Storicamente, l’interpolazione di stringhe non era direttamente supportata in Clojure come in altri linguaggi, si usava la concatenazione o la funzione format. Oggi restano metodi validi, ma alternative più moderne sono disponibili tramite librerie esterne che offrono una sintassi più pulita o attraverso macro personalizzate.

Le macro in Clojure sono un potente strumento che, tra molte altre cose, possono essere usate per creare funzionalità personalizzate di interpolazione. Queste sono a livello di compilazione e permettono un’interpolazione più leggibile ed efficiente.

È inoltre possibile utilizzare vettori e mappe con str o format per ottenere effetti di interpolazione.

Vedi Anche