查看clojure中的某类内容?

Sha*_*ane 23 clojure

我正在学习clojure,并且有一个非常基本的问题:鉴于clojure有类型推断,你怎么知道推断出什么类?

例如,这些将导致不同的数据类型:

(2)
(/ 2 3)
(/ 2.0 3)
Run Code Online (Sandbox Code Playgroud)

是否有某种class函数会返回数据类型?此外,是否有正常的方式将某些东西作为特定类型?所以在上面的第二个例子中,如果我想让结果浮动,我该怎么办?

aat*_*ifh 32

库中有一个type功能clojure.core.

user> (type 2)
java.lang.Integer

user> (type (/ 2 3))
clojure.lang.Ratio

user> (type (/ 2.0 3))
java.lang.Double
Run Code Online (Sandbox Code Playgroud)

如果要将给定数字转换为浮点数,请使用float.

user> (float 10)
10.0
Run Code Online (Sandbox Code Playgroud)

  • 还有`class`.`type`首先检查:type键的元数据(如果有的话).然后使用fallback`class`. (7认同)