查看clojure中的某类内容?

时间:2010-01-06 11:32:32

标签: clojure

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

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

(2)
(/ 2 3)
(/ 2.0 3)

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

2 个答案:

答案 0 :(得分: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

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

user> (float 10)
10.0

答案 1 :(得分:2)

同样,你可能不需要施放,因为以下工作:

user> (Double/toString (/ 2 3))
"0.6666666666666667"

然而,这也是如此:

user> (str (/ 2 3))
"0.6666666666666667"