渡された引数の結果が(require 'value-of-argument)
. (defmacro r [x] `(require ~x)) と言うと(require value-of-x)
、期待どおりに取得できますが、そこに引用符を取得する方法がわかりません。
編集:これは私の問題のより簡単な例です:
(defmacro q [x] `(str ~x))
=> (map (fn [e] (q e)) (map symbol ["x" "y" "z"]))
=> ("x" "y" "z")
でも、
(defmacro q [x] `(str '~x))
=> (map (fn [e] (q e)) (map symbol ["x" "y" "z"]))
=> ("e" "e" "e")