Clojure:以“N”结尾的整数值

时间:2017-07-14 08:53:09

标签: clojure

我在clojure中已经阅读了(*')函数。

(*' 1234567890 9876543210)



Result: ;;=> 12193263111263526900N

我试图在下面执行此操作

(*' 4535353535345345345 5675675675675675677 4564564646456645)

Result: ;;=> 117497352037570255927282105564555048448707485315089425N

这里的“N”是什么?它是Infinite的象征吗?输出是Bigdecimal或任何其他类型的类型?

1 个答案:

答案 0 :(得分:3)

(class (*' 4535353535345345345 5675675675675675677 4564564646456645))

clojure.lang.BigInt,Clojure就像这样打印出来:

;; src/clj/clojure/core_print.clj
(defmethod print-method clojure.lang.BigInt [b, ^Writer w]
  (.write w (str b))
  (.write w "N"))

所以N只是一个注释,让你知道它实际是什么类型的整数。

但这并不意味着你必须将N放在最后让Clojure知道它是什么类型的整数。