- 论坛徽章:
- 0
|
A.6 数值类型
Ruby中有3种数值类型:Fixnum和Bignum是整数类型,Float类型作为浮点数可以表示范围非常大的小数。
通常我们认为的像5这样数在Ruby里面也是对象,比如:- class Test
- 5.times { |i| print i }
- puts \"\\n\"
- 1.upto(5) { |i| print i }
- puts \"\\n\"
- 100.downto(95) { |i| print i, \" \" }
- puts \"\\n\"
- 10.step(50, 5) { |i| print i, \" \" }
- end
复制代码 这说明在Ruby中我们看到的这些平常的数都是对象。通常0开头的数是8进制数,0x开头的数是16进制数,0b开头的数是2进制数。
单个ASCII码字符前加“?”号会返回这个字符的ASCII码值。可以用?\\C-x或?\\M-x返回对应Ctrl和Alt键的对应组合键值,这里x是被组合进去的字符。比如:- class Test
- puts ?1
- puts ?a
- puts ?\\\\
- puts ?\\r
- puts ?\\C-z # Ctrl+z
- puts ?z&0x9f # Ctrl+z
- puts ?\\M-z # Alt+z
- puts ?z|0x80 # Alt+z
- puts ?\\M-\\C-z # Ctrl+Alt+z
- puts ?z&0x9f|0x80 # Ctrl+Alt+z
- end
复制代码 浮点数使用科学记数法表示时,要注意:e的前面要么忽略小数点,要么在小数殿后面加0。如: 3e3或者3.0e3,而3.e3是错误。
下面的这个程序在有些书籍中被作为经典传抄:- def pt(classname)
- c = classname
- begin
- print c
- c = c.superclass
- print \" < \" if c
- end while c
- puts
- end
- pt(Fixnum)
- pt(Bignum)
- pt(Float)
复制代码 结果中的 “<”代表类的继承关系。
当Fixnum数很大时会自动转型为Bignum型数。 |
|