2

当我输入user> (* 10 .5)我的 clojure repl 时,我收到以下消息:

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

4

1 回答 1

3

clojure 阅读器使用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
于 2013-04-12T17:50:32.573 回答