小编bur*_*wnn的帖子

是否有任何理由在Clojure中默认的十进制文字不是BigDecimal类型?

我了解到Clojure读者将十进制文字解释为后缀"M",如1.23M,作为BigDecimal.而且我也知道没有'M'的十进制数字变成了Java的两倍.
但我认为正常的十进制数是BigDecimal会更好,而依赖于主机的十进制有后缀,比如1.23H.因此,当由于IEEE double的精度限制而导致数字被破坏或截断时,我们可以很容易地注意到该数字是精度受限的.此外,我认为更容易表达应该是独立于主机的.

除了时间性能之外,Clojure是否有任何理由将文字小数解释为Java double?另外,我认为时间性能不是一个答案,因为它不是C/C++,而且声明依赖于主机的十进制的其他方式可以像'1.23H'那样实现.

java double clojure literals bigdecimal

7
推荐指数
2
解决办法
303
查看次数

为Clojure提供更好的"coll"和"n"位置的编码约定?

当我编写clojure代码时,我对何时遵循(func coll n)格式和(func n coll)格式感到困惑.
在Clojure/core中, (take n coll)使用的同时(nth coll n)也是正确的代码.此外,还有(reduce func n coll),(get coll n)(drop n coll).
在定义这些令人困惑的函数时,是否存在适当的参数类型的规则/约定?或者我应该doc每次都没有意义地打字?

coding-style conventions clojure

5
推荐指数
1
解决办法
110
查看次数