不久前,我在Natural中发现了 base 数据类型。当您打算使用非负整数类型时,应该采用(在我看来)。但是尚不清楚为什么我应该更喜欢Natural而不是Integer。两种类型都具有任意精度,并且都具有相当优化的运行时表示形式 Integer representation Natural representation。但是Natural can throw pure exceptions当您减去自然数时,并没有真正为代码增加类型安全性。尽管Integer在所有软件包中都比较流行。

那么什么时候以及为什么我应该使用Natural

最佳答案

我不明白您为什么要使用NaturalInteger。为什么不使用Rational代替呢?它具有任意精度,具有优化的运行时表示形式,并且适用于自然数,整数和有理数!

我的观点是,我们应该选择一种在语义上有意义的类型。让我们用自然数来计算街上的房屋,用整数记录下一次高尔夫比赛,并用理性来划分新鲜的蓝莓派。

08-24 22:35