Keywords y símbolos en Clojure
Lee la pista de un mixtape desde un mapa con keywords y la contrasta con un símbolo citado.
;; keywords evaluate to themselves, which makes them good map keys
(def track {:title "Sea Change" :artist "Wren" :minutes 4})
;; a keyword called as a function looks itself up in a map
(println (:artist track) "-" (:title track))
;; a second argument is the fallback when the key is missing
(println "bpm:" (:bpm track 120))
;; a namespaced keyword keeps keys from colliding across sources
(def tagged (assoc track :mixtape/side :a))
(println (:mixtape/side tagged))
;; a symbol names something else; quoting one stops the lookup
(def side 'flip)
(println (type :a) (type side))
Cómo funciona
(:artist track)llama a un keyword como función para que se busque a sí mismo en el mapa.(:bpm track 120)aporta el fallback para una clave que el mapa no trae.:mixtape/sidees una clave con espacio de nombres, y(def side 'flip)vincula un símbolo quetypedistingue.
Palabras clave y builtins usados aquí
assocdefprintln
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 583
- Tokens
- 71
- Ritmo de tres estrellas
- 75 tpm
Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 57 segundos.
Paso 3 de 3 en Valores y vinculaciones; paso 3 de 27 en Fundamentos del lenguaje.