站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
▼
建站程序
开发
服务器
办公软件
开发教程
▼
服务器教程
软件使用教程
运营教程
热门电子书
▼
CSS教程
WordPress教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
热点词条
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Ruby-标准类型
”(章节)
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
== 数字 == Ruby支持整数和浮点数,整数可以是任意长度(长度仅局限于你的系统内存的容量),一个特定范围(通常是-2的30次方到2的30次方-1或者-2的62次方到2的62次方-1)内的整数以二进制形式存放,属于Fixnum类的对象,超出这个范围的整数则属于Bignum类的对象(Bignum类目前是以变长的短整数集的形式实现的),两种形式间的转换由Ruby自动完成。 <br> num = 8<br> 7.times do<br> print num.type, " ", num, "\n"<br> num *= num<br> end <br> 结果:<br> Fixnum 8<br> Fixnum 64<br> Fixnum 4096<br> Fixnum 16777216<br> Bignum 281474976710656<br> Bignum 79228162514264337593543950336<br> Bignum 6277101735386680763835789423207666416102355444464034512896 <br> 整数的写法是可选的前缀+一串数字,数字串中的下划线会被忽略。(前缀包括:0表示八进制, 0x表示十六进制, 0b表示二进制)<br> 123456 # Fixnum<br> 123_456 # Fixnum (忽略了下划线)<br> -543 # 负Fixnum<br> 123_456_789_123_345_789 # Bignum<br> 0xaabb # 十六进制<br> 0377 # 八进制<br> -0b101_010 # 二进制(负) <br> 也可以通过在前面加上问号来得到ASCII码字符对应的整数值和转义序列的值。control和meta的组合产生出?\C-x、?\M-x和?\M-\C-x这些形式,整数用control修饰相当于该整数与0x9f;用meta修饰相当于或0x80;还有?\C-?产生一个删除键的ASCII码,即0177。<br> (译者注:可能有的朋友不知道这里的control和meta表示什么意思,参考emacs的文档,control修饰相当于CTRL键,而meta键相当于ALT键,在类UNIX系统领域,这种用法相当普遍。)<br> ?a # 普通字符<br> ?\n # 换行符 (0x0a)<br> ?\C-a # CTRL+a (0x01)<br> ?\M-a # ALT+a<br> ?\M-\C-a # CTRL+ALT+a<br> ?\C-? # 删除键 <br> 一个带小数点的数字字面值被转换成Float对象,类似于常规的double数据类型,小数点后必须直接跟数字,如果你写的是1.e3,那么就会执行Fixnum类中的方法e3了。<br> 所有的数字都是对象,可以相应许多消息(在290、313、315、323和349页有详细列表),所以,不像C++,数字的绝对值是aNumber.abs而不是abs(aNumber)。<br> 整数还支持几个有用的迭代器,我们在47页的例子中已经看到过7.times,其它的还包括upto和downto,表示在两个整数之间从上或者下迭代,还有step,它更像传统的for循环。<br> 3.times { print "X " }<br> 1.upto(5) { |i| print i, " " }<br> 99.downto(95) { |i| print i, " " }<br> 50.step(80, 5) { |i| print i, " " } <br> 结果: <br> X X X 1 2 3 4 5 99 98 97 96 95 50 55 60 65 70 75 80 <br> 最后,提醒Perl用户注意一点,表达式中包含数字的字符串不会被自动转换成数字,这一点常常在从文件中读取数字时迷惑你,下面的代码并不像你期望的那样运行。<br> DATA.each do |line|<br> vals = line.split # 分割line,存储在val中<br> print vals[0] + vals[1], " "<br> end <br> 文件中的内容:<br> 3 4<br> 5 6<br> 7 8 <br> 结果你得到的输出是"34 56 78"(译者注:而不是7 11 15),怎么回事?<br> 问题在于系统把输入当成字符串来读取,而不是数字,加号用于连接字符串,所以我们就看到了这样的输出。如果修改的话,应该用String#to_i方法把字符串转换成数字。<br> DATA.each do |line|<br> vals = line.split<br> print vals[0].to_i + vals[1].to_i, " "<br> end <br> 结果:<br> 7 11 15 <br>
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)