:refer
in を使用すると、 in:require
を使用:only
するよりもどのような利点があり:use
ますか? 以下は同義語ですか?
(ns so.example (:use [my.lib :only [function]]))
と
(ns so.example (:require [my.lib :refer [function]]))
:refer
in を使用すると、 in:require
を使用:only
するよりもどのような利点があり:use
ますか? 以下は同義語ですか?
(ns so.example (:use [my.lib :only [function]]))
と
(ns so.example (:require [my.lib :refer [function]]))
:refer
に追加する主なアイデアは、:require
を完全に取り除き:use
、1 つのオペレーターだけを残して他のパッケージをロードすることです。既存のものをエミュレートでき:use
ます(:require [my.lib :refer :all])
...
はい、それらは同等です、
:refer
および:require
は、名前空間を構築するために必要な基本的な操作です。:use
より便利です
:require
クラスがロードされます:refer
実際には単なるマップ(実際にはいくつかのマップ)である名前空間に物事を追加します:use
:refer
+です:require
それはそれのように見えるかもしれませんが、名前空間に魔法は本当にありません
このような名前空間を作成すると
(ns so.example (:use my.lib))
:requireと同等のものは次のようになります:
(ns so.example (:require [my.lib :refer [function1 function2 function3
list every function in example
here and remember to keep it
up to date ]]))