Created
January 21, 2020 10:38
-
-
Save humbertodosreis/b425038b4988817354afbd123423ed0c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(ns clojure-playground.core) | |
(def transacoes [{:valor 33.0 :descricao "Almoco" :tipo "despesa"} | |
{:valor 40.0 :descricao "Farmacia" :tipo "despesa"} | |
{:valor 1000.0 :descricao "Salario" :tipo "receita"}]) | |
(map #(:valor %) transacoes) | |
(filter #(= (:tipo %)) transacoes) | |
(first transacoes) | |
(get (first transacoes) :valor) | |
(:valor (first transacoes)) | |
(->> (first transacoes) | |
:valor) | |
(get-in transacoes [0 :valor]) | |
(:valor (first transacoes) 45.5) | |
(update {:valor 1} :valor + 10) | |
(assoc (first transacoes) :valor 10) ;; substituindo valor | |
(def despesas? #(= (:tipo %))) | |
(def apena-valor #(:valor %)) | |
(->> (filter despesas? transacoes) | |
(map apena-valor) | |
(reduce +)) | |
(def clientes [{:nome "Humberto" :cpf "31211133399" :genero "M" :vip false} | |
{:nome "Fernanda" :cpf "25900000012" :genero "F" :vip true}]) | |
(def formato-padrao #(str "Nome:" (:nome %) ", CPF:" (:cpf %) ", Genero:" (:genero %))) | |
(def formato-cpf-mascarado #(str "Nome:" (:nome %) ", CPF:***********" ", Genero:" (:genero %))) | |
(->> (filter #(true? (:vip %)) clientes) | |
(map formato-padrao)) | |
(->> (filter #(true? (:vip %)) clientes) | |
(map formato-cpf-mascarado)) | |
;;(map #(str "Nome:" (:nome %) ", CPF:" "***********" ", Genero:" (:genero %)) clientes) | |
(defn relatorio [clientes formatador] | |
(map formatador clientes)) | |
(relatorio clientes formato-padrao) | |
(relatorio clientes formato-cpf-mascarado) | |
(defn relatorio-2 | |
([clientes] (relatorio-2 clientes formato-padrao)) | |
([clientes formatador] (map formatador clientes))) | |
(relatorio-2 clientes) | |
(relatorio-2 clientes formato-cpf-mascarado) | |
;; usei thread first, pois relatorio recebe clientes primeiro | |
(-> (filter #(true? (:vip %))) | |
relatorio-2 formato-cpf-mascarado) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment