Var とは何か Clojure のネームスペースについて調べてみました。ネームスペースを理解するには、その前に Vars について覚えておく必要があります。まず、例に使う簡単な関数を作ります。 user=> (defn hello "blah blah..." [] (print "Hello, World!\n")) #'user/hello user=> (hello) Hello, World! nil Clojure では defn を使って関数を定義する事が出来ますが、この結果返される #'user/hello とは何でしょうか? user=> (type #'user/hello) clojure.lang.Var type で調べると、clojure.lang.Var というオブジェクトである事が分かります。これは Clojure のグローバル変数を特徴づけるオブジェクトで