我在clojure中已经阅读了(*')
函数。
(*' 1234567890 9876543210)
Result: ;;=> 12193263111263526900N
我试图在下面执行此操作
(*' 4535353535345345345 5675675675675675677 4564564646456645)
Result: ;;=> 117497352037570255927282105564555048448707485315089425N
这里的“N”是什么?它是Infinite的象征吗?输出是Bigdecimal或任何其他类型的类型?
答案 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知道它是什么类型的整数。