Skip to content

Instantly share code, notes, and snippets.

@humbertodosreis
Created January 14, 2020 05:21
Show Gist options
  • Save humbertodosreis/97fc638d3585c09873a363e8c2163580 to your computer and use it in GitHub Desktop.
Save humbertodosreis/97fc638d3585c09873a363e8c2163580 to your computer and use it in GitHub Desktop.
;; valor descontado
(* 100 (- 1 0.10))
;; para melhor clareza
(def preco 100)
(def taxa-desconto (- 1 0.10))
;; valor descontado
(* preco taxa-desconto) ;; => 90
;; melhorando esse cenário
;; desconto somente itens com preco acima de 100
;; exemplos de expressões condicionais
(> 100 50) ;; true
(< 30 80) ;; true
(zero? 50) ;; false
(odd? 3) ;; true
(even? 4) ;; true
;; if, uma forma especial, lembra uma função
(if (> 100 50)
(println "Maior")) ; Se falso,nil
; Exemplo com else
(if (> 100 50)
(println "Maior")
(println "Menor"))
(if-not (= 1 2) (println "Vai imprimir"))
;; complicar um pouco o cenário
(defn valor-descontado [preco taxa-desconto]
(* preco taxa-desconto))
;; desconto apenas para preco acima de 100
(defn valor-descontado [preco taxa-desconto]
(if (> preco 100) (* preco taxa-desconto)))
;; exemplo anterior retorna nil quando falso, corrigindo
(defn valor-descontado [preco taxa-desconto]
(if (> preco 100) (* preco (- 1 taxa-desconto)) preco))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment