当我在我的clojure repl中输入user> (* 10 .5)
时,我收到此消息:
CompilerException java.lang.RuntimeException: Unable to resolve symbol: .5 in this context, compiling:(NO_SOURCE_PATH:1:1)
我知道我可以执行此操作(/ 10 2)
或(* 10 (/ 1 2))
。
谁能告诉我这里发生了什么?
我正在使用clojure 1.5,emacs和nrepl
答案 0 :(得分:3)
clojure reader使用NNNN.NNNN形式表示双打。 .5应写成
(* 10 0.5)
并且作为旁注,它将其视为双精度,如果你想要一个漂浮物,你必须施放它。
使用.
user> (def .im-a-normal-var 42)
#'user/.im-a-normal-var
user> .im-a-normal-var
42