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

标签 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

最佳答案

clojure reader使用形式 NNNN.NNNN对于 double 。 .5 应写为

(* 10 0.5)

作为旁注,它会将其读取为 double ,如果您想要一个 float ,则必须将其转换。

开始一个var的名字是完全可以的。

user> (def .im-a-normal-var 42)
#'user/.im-a-normal-var
user> .im-a-normal-var
42

关于clojure - 在 clojure repl 中输入十进制数时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15977747/

相关文章:

scala - 在 Scala Repl 中暂时禁用制表符补全

scala - 抑制 sbt 控制台/Scala REPL 中的返回类型

clojure - 是否有一个 Clojure 函数接受一个映射并返回一系列交替的键和值?

clojure - 通过 :type in Clojure 自定义 map 打印

common-lisp - 如何自定义SBCL REPL?

ocaml - 从终端编译和运行 Ocaml 脚本

Emacs close paren 在编辑clojure 代码时跳转到已经存在的close-paren

clojure - 这些类型提示形式之间有什么区别,为什么作为 if 语句实现?

java - 代理私有(private)接口(interface)

用于运行应用程序的 Java 9 REPL