In Clojure 1.4 what is the use of refer within require?

前端 未结 3 1648
误落风尘
误落风尘 2020-12-07 14:39

What advantage does using :refer in :require have over using :only in :use? Are the following synonymous?



        
3条回答
  •  独厮守ぢ
    2020-12-07 15:18

    yes, they are equivalent,

    :refer and :require are the basic operations required to build namespaces. :use is more convienient

    • :require causes classes to be loaded
    • :refer adds things to the name space which is really just a map (actually a couple of maps)
    • :use is :refer + :require

    as much is it may look like it, there really is no magic to namespaces

    if you make a namespace like this

    (ns so.example (:use my.lib))
    

    the equivalent with :require would be:

    (ns so.example (:require [my.lib :refer [function1 function2 function3 
                                             list every function in example 
                                             here and remember to keep it 
                                             up to date ]]))
    

提交回复
热议问题