Bruke et interaktivt skall (REPL)

Clojure:
Bruke et interaktivt skall (REPL)

Hvordan:

Start med å lansere REPL:

user=> (println "Hello, REPL!")
Hello, REPL!
nil

Definer en funksjon og prøv den ut:

user=> (defn greet [name] (str "Hello, " name "!"))
#'user/greet
user=> (greet "Clojure Programmer")
"Hello, Clojure Programmer!"

Eksperimenter med datastrukturer:

user=> (def my-map {:a 1 :b 2})
#'user/my-map
user=> (assoc my-map :c 3)
{:a 1, :b 2, :c 3}

Dypdykk

REPL er nøkkelen til Lisp-familiens interaktive utviklingsfilosofi, og Clojure, en moderne Lisp-dialekt, gjør stor bruk av dette verktøyet. Det går tilbake til den første Lisp REPL på slutten av 1950-tallet. Alternativer i andre språk inkluderer Pythons tolker og Node.js’s konsoll, men Clojures REPL har første klasse status og er integrert i arbeidsflyten.

En Clojure REPL-økt kan integreres i ulike miljøer som kommandolinje, IDEer (som IntelliJ med Cursive, eller Emacs med CIDER) eller nettleserbaserte verktøy som Nightcode. I en dypere forstand, gir REPL utvikleren muligheten til å manipulere språkets konstruksjoner i kjøretiden og bære tilstander gjennom ulike transformasjoner, ofte fører til utforskende programmering og mer robust kode.

REPLs funksjonalitet skinner med verktøy som lein repl eller clj, som tillater for avhengighetsstyring, ulike tillegg, og prosjektspesifikke tilpasninger, som fører til en mer produktiv og fleksibel utviklingsprosess.

Se også