rich - clojurescript
¿Cuáles son las diferencias entre `require`,` import` y `use`? (1)
Esta pregunta ya tiene una respuesta aquí:
- Diferencia entre uso y requiere 4 respuestas.
¿Por qué necesitamos todos los require
import
, import
y use
?
Exigir
require carga una biblioteca de Clojure para que pueda usarla en su archivo actual o REPL.
Esta es la forma normal de acceder a las funciones y la definición en una biblioteca de Clojure.
Utilizar
use trae un espacio de nombres Clojure de la misma manera que require, pero además se refiere a las definiciones en el espacio de nombres cargado desde el espacio de nombres actual (es decir, crea un alias conveniente en el espacio de nombres actual).
No lo use en exceso (intencionalmente); puede causar conflictos en el espacio de nombres fácilmente.
Importar
import es para importar las clases y las interfaces de Java solamente.
user=> (import java.util.Date)
java.util.Date
user=> (def *now* (Date.))
#''user/*now*
Si no necesita interoperar con el código Java, entonces puede ignorar la importación de forma segura.