1,数值类的构成
Numeric(数值)分为四类:1,整数(Integer) 2,浮点小数(Float) 3,有理数(Rational) 4,复数(Complex)
其中,Integer有可以分为两种,一种是表示计算机硬件可以处理的Fixnum类,另外一种是比Fixnum更大的数值Bignum类。
程序中的整数一般都是在Fixnum范围内的,如果超过了Fixnum的范围,Ruby就会自动将其转换为Bignum类。
2,数值的字面量
单纯的数字表示10进制,0b开头表示2进制,0或者0o开头表示8进制,0d开头表示10进制,0x开头表示16进制。数字中的_会被自动忽略。
1_234_456 #=> 1234456
3,运算
1/除法
x.div(y) 返回x除以y后的商的整数 p 5.div(2) #=> 2
x.quo(y) 返回x除以y以后的商 p 5.quo(2) #=> (5/2)
2/数值类型转换
to_f 将Integer对象转换为Float对象 p 10.to_f #=> 10.0
to_i 将Float对象转换为Integer对象 p 10.8.to_i #=> 10
3/随机数
Random.rand方法可以得到随机数。不指定参数的时候返回比1小的浮点小数,参数为正整数的时候返回0到该正整数之间的数值。
p Random.rand #=> 0.121324344342341
p Random.rand #=> 32
Random.new方法可以初始化随机数生成器。
r1 = Random.new (1)
p[r1.rand,r1.rand] #=>[0.312413424542334, 0.56745645645664]
4/计数
n.times{|i|.........}
from.upto(to){|i|..........}
from.downto(to){.........}
from.step(to,step){.......}
Comparable模块
里面封装的方法:< <= == >= > between?