不久前,我在Natural
中发现了 base
数据类型。当您打算使用非负整数类型时,应该采用(在我看来)。但是尚不清楚为什么我应该更喜欢Natural
而不是Integer
。两种类型都具有任意精度,并且都具有相当优化的运行时表示形式 Integer
representation和 Natural
representation。但是Natural
can throw pure exceptions当您减去自然数时,并没有真正为代码增加类型安全性。尽管Integer
在所有软件包中都比较流行。
那么什么时候以及为什么我应该使用Natural
?
最佳答案
我不明白您为什么要使用Natural
或Integer
。为什么不使用Rational
代替呢?它具有任意精度,具有优化的运行时表示形式,并且适用于自然数,整数和有理数!
我的观点是,我们应该选择一种在语义上有意义的类型。让我们用自然数来计算街上的房屋,用整数记录下一次高尔夫比赛,并用理性来划分新鲜的蓝莓派。