Maps

Keywords

Comecam com : e sao muito utilizadas comos chaves de maps / estruturas.



(let [s {:a 1 :b 2 :c 3}]
(get s :a) )

O Clojure pode utilizar uma keyword como um funciao pra extrai um valor duma map.



(let [s {:a 1 :b 2 :c 3}]
(:b s) )

Pegar as chaves com keys



(let [s {:a 1 :b 2 :c 3}]
(keys s) )

Podemos estrair as valores duma map com destructuring



(let [s {:a 1 :b 2 :c 3}
f (fn [{:keys [a b c]}] (str "a=" a " b=" b " c=" c))]
(f s)
)

Podemos sobre-escreve um valor



(let [s {:a 1 :b 2 :c 3}
s2 (conj s {:c 4})  ]
(:c s2) )

Exercício 8

  • 8.1 Escreve um programa que atualizar qualquer senha menos do que 8 caracteres com algumas caracteres extra, eg. "123" -> "123preciso-um-senha-maior"


(let [usuarios [{:nome "paolo" :senha "123"} {:nome "fred" :senha "vbub2k4agsA a"} {:nome "moema" :senha "issoEMeuSenhaDeVerdade"} {:nome "wallace" :senha "senha" }]]

)

Vai ao Pagina 6