在clojure repl中输入十进制数时出错

时间:2013-04-12 17:48:34

标签: clojure read-eval-print-loop

当我在我的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

1 个答案:

答案 0 :(得分:3)

clojure reader使用NNNN.NNNN形式表示双打。 .5应写成

(* 10 0.5)

并且作为旁注,它将其视为双精度,如果你想要一个漂浮物,你必须施放它。

使用.

创建var的名称是完全可以的
user> (def .im-a-normal-var 42)
#'user/.im-a-normal-var
user> .im-a-normal-var
42