は、ここで私は最初のものをmacroexpandingで clojureはコンパイル時にどのようにコードを評価しますか?
(defmacro hello [x] (eval '(+ 1 2)))
&
(defmacro hello [x] '(+ 1 2))
(+ 1 2)
を取得し、第二のmacroexpandingながら、私は値3を取得します。これはコンパイル時に追加が行われたことを意味しますか?どのようにそれは可能ですか?
'(+ 1 2)
の代わりに、私はdbを照会する関数を書いていました。それはコンパイル時にデータベースに問い合わせますか?
今私は力を見る:D –