Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure读卡器用于浮点?_Clojure - Fatal编程技术网

Clojure读卡器用于浮点?

Clojure读卡器用于浮点?,clojure,Clojure,我想知道为什么没有用于浮动的clojure阅读器文本。比如: 1f 我找到了,但没有反应。clojure的文件也没有提到这一点。是否没有添加它的计划,如果没有,那么这背后的原理是什么?Clojure支持强制输入定义和定义的float 如果我需要写一个真正的浮点,我通常只是确保它有一个小数点1.0vs1关于@omiel的答案,您可以编写1.以获得浮点值,如果您喜欢更简洁的语法: (class 1.) ; => java.lang.Double 事实上,32位精度整数也没有读取器文本 (c

我想知道为什么没有用于浮动的clojure阅读器文本。比如:

1f

我找到了,但没有反应。clojure的文件也没有提到这一点。是否没有添加它的计划,如果没有,那么这背后的原理是什么?

Clojure支持强制输入定义和定义的float


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

关于@omiel的答案,您可以编写
1.
以获得浮点值,如果您喜欢更简洁的语法:

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

事实上,32位精度整数也没有读取器文本

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

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

我猜这是一个固执己见的选择。32位是20世纪的产物,是时候继续前进了。但您仍然可以强制使用32位类型(以及short/byte),正如@amalloy所演示的那样。

这并不能解释为什么无法编写不需要强制的文本浮点(单精度)。或者有吗?你也可以定义一个带标签的文字,或者甚至在代码中使用
#=(java.lang.Float/parseFloat“1”)
(不在edn中)。我的意思是把它写成注释,而不是答案,但它确实存在。愚蠢的触摸屏。
(class 1)
; => java.lang.Long

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