A.6 数值类型

上一篇 / 下一篇  2008-06-18 01:36:35

查看( 162 ) / 评论( 1 )
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型数。

TAG:

wscc111的个人空间 wscc111 发布于2008-06-18 10:16:56
非常詳細!!謝謝
以前只知道有字符串,整型,浮點型、、、
現在搞清楚了,樓主用更專業的詞語給了我們明確的答案
還可以取ascii值 真的很方便哦
謝謝咯
我来说两句

(可选)

日历

« 2008-11-22  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

我的存档

数据统计

  • 访问量: 44
  • 日志数: 19
  • 建立时间: 2008-06-11
  • 更新时间: 2008-06-11

RSS订阅

Open Toolbar