Tuesday, October 14, 2008

(1)Ruby中的数字Numberic

如上图所示,Ruby中有5种类型用于表示数字,其中3中属于标准类库在某些情况下非常有用。
所有的数字类型都是Numeric类的实例,使用整数都是Integer类的实例,如果一个整数是31位范围内,那么它是一个Fixnum,否则它就是一个Bignum。Bignum可以描述任意长度的整数,如果整数长度小于31那么它会自动转换为Fixnum,否则如果大于31位会自动转换为Bignum。实数用Float类型描述,它依赖于当前平台环境的实数指针命令。
Complex、Bigdecimal和Rational不是Ruby语言内置的数据类型,它们实现为Ruby的标准类型。就像它们的名字代表的那样,Complex用于描述复杂的数字,而BigDecimal可以描述任意精度的实数数字,Rational类型用于描述分数(数学上,它是一个整数 a 和一个非零整数 b 的比(ratio),通常写作 a/b)。
数字是一种不变类型,所以没有任何方法可以改变它的值。

No comments: