这个宏在Clojure中有什么问题?

unj*_*nj2 3 macros functional-programming clojure

(defmacro nif [expr pos zer neg]
  '(condp = (Integer/signum ~expr) 
     -1 ~neg
     0 ~zer
     1 ~pos))
Run Code Online (Sandbox Code Playgroud)

我收到这个错误.

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)
Run Code Online (Sandbox Code Playgroud)

pmf*_*pmf 6

更换引号('由反引号)('),使语法引用.