Clojure读者文字浮动?

时间:2015-09-26 07:41:38

标签: clojure

我想知道为什么浮动没有clojure reader literal。类似的东西:

1f

我找到this,但没有回复。 clojure docs也没有提到。是否没有计划添加它,如果没有,这背后的理由是什么?

4 个答案:

答案 0 :(得分:3)

事实上,对于32位精度整数,也没有读者文字。

(class 1)
; => java.lang.Long

(class 1.0)
; => java.lang.Double

我的猜测是,这是一个自以为是的选择。 32位是20世纪,是时候继续前进了。但是你仍然可以强制转换为32位类型(以及短/字节),正如@amalloy所证明的那样。

答案 1 :(得分:2)

如果我需要写一个真正的浮点数,我通常只是确保它有一个小数点。 1.0 vs 1

答案 2 :(得分:1)

Clojure支持强制类型为定义herehere

的float类型
(def f1 (float 1))

答案 3 :(得分:0)

除了@omiel的回答之外,如果您更喜欢更简洁的语法,可以编写1.来获取浮点数:

(class 1.)
; => java.lang.Double