Olá, pra mim não ficou muito claro a diferença entre essas duas diretivas. Alguém poderia me explicar?
Olá, pra mim não ficou muito claro a diferença entre essas duas diretivas. Alguém poderia me explicar?
Olá Eduardo, acredito que já conseguiu resolver a sua dúvida
Mas eu também passando pelo capitulo fiquei com a mesma questão, então deixando de referência para quem também tiver:
O use
equivale a fazer um require
seguido de um refer
, por exemplo:
(ns example.temp.calc)
(defn soma [ primeiro-valor segundo valor] (+ primeiro-valor segundo-valor))
Em outro namespace se fizermos:
(ns example.core
(:require [ example.temp.calc :as calc ])
; Ou também podemos
(ns example.core)
(require 'example.temp.calc)
Das duas formas estamos apenas importando o módulo e teríamos que usar como : calc/soma
ou example.temp.calc/soma
Mas podemos querer mais do que fazer o import do módulo, e sim, referir, teríamos um código assim então:
(ns example.core)
(requrie 'example.temp.calc)
(refer 'example.temp.calc)
(println (soma 5 10))
O use
acaba sendo um atalho para essa operação
(ns example.core
(:use example.temp.calc))
(println (soma 5 10))
Fica ai para quem tenha a mesma dúvida :)
Abraços e Bons Estudos!