3
(defmacro nif [expr pos zer neg]
'(condp = (Integer/signum ~expr)
-1 ~neg
0 ~zer
1 ~pos))
このエラーが発生します。Clojureでこのマクロに問題がありますか?
1:1 user=> #<Namespace Chapter7Macros>
1:2 Chapter7Macros=> (nif 1 (+ 2 2) (- 2 2) (- 3 2))
1:3 Chapter7Macros=> java.lang.Exception: Unable to resolve symbol: expr in this context (repl-1:57)
On Lispのフォントは、(私にとってはもちろんOPのためにも)「from \」を伝えるのを難しくしています。一般的には、マクロを使って作業しているときに\ 'を使います。 (バックティック、誰かが私のフォントに問題がある場合に備えて!) – amalloy