Ruby Numeric
Numeric
|-- Float
|-- Integer
|-- Fixnum
|-- Bignum
Numeric的基本结构
整数的差异,一般的数字Fixnum就能够处理,即使超过了Fixnum的处理范围也会直接转换为Bignum,不需要程序员处理。
0b开头的数字是二进制的;
0开头的数字是八进制的;
0d开头的数字是十进制的;
0x开头的数字是十六进制的;
之外的基本上都是十进制的。
?a,是查看字符a的ASCII码。
?\t,查看\t的ASCII码。
123.45,浮点数
123.45e3,123.45*103
123.45e-3,123.45*10-3
数字内的下划线会被忽略掉!!!!
p 123_456_789 #=> 123456789
p 0x1_2_3 #=>0x123
p 1_234.0e3 #=>1234000.0
+,-,*,/
% 取余数
** 求幂
x.divmod(y) #返回结果为一个包含两个元素的数组。第一个元素为商,第二个元素为余数。
x.module(y) #等同于x%y
x.remainder(y) #返回符号与x相同的余数
整数除以0会出现错误;
浮点数除以0返回结果为Infinity
"123".to_i
123.to_f
反正我没有发现他们会出现什么异常。
round,Float#to_i会直接去掉小数点后面的部分。如果想要四舍五入需要用round。
ceil,floor:天花板, 地板
n.times{|i|...}
from.upto(to){|i|...}
from.downto(to){|i|...}
form.step(to, step){|i|...}
Ruby Numeric的更多相关文章
- Ruby Numeric类
Numeric类 Numeric ---------> Integer ---------> Fixnum ...
- 1月24日 ruby基础3部分 Numeric, Array已学。
<div style="background:lightblue"> 第12章 数值类 12.1 数值的构成 Numeric-> Integer-> Fix ...
- 「ruby/MiniMagick」用MiniMagick处理图片
包的选择和配置 想用RMagick,但据说内存泄露的问题比较厉害,作为替代品MiniMagick不存在内存泄露的问题.而二者都是使用ImageMagick的,所以需要下载并安装ImageMagick. ...
- ruby学习总结05
1.数值类(Numeric) 有理数:Rational(分子,分母) 复数:Complex(实数,虚数) 随机数:Rnadom rand() 返回比1小的浮点数,rand(种子数) 返回0到该 ...
- ruby条件控制结构
一.比较语句 大部分和其他的语言一样,这里注意<=>. 条件语句 如下几种形式 if if ..else.. end if..elsif..else..end unless(if not) ...
- 《ruby编程语言》笔记2 对象
ruby是一门非常纯粹的面向对象的语言:所有值都是对象,而且没有基本类型(primitive type)和对象类型的区别,这一点不同于其他语言.在Ruby中,所有对象都继承一个Object类,而且共享 ...
- Ruby自学笔记(五)— 条件判断
条件判断,在编程语言中都存在,而Ruby中的条件判断和Java中类似,当然还是存在些许差别 Ruby中条件判断的条件: 1) 可以使用 ==,<,>等比较运算来作为条件,比较运算可以返回t ...
- ruby.new
ruby.new 输出:print.puts.p 注释 #say hello =begin this is a long comment =end 变量 local: time or _time in ...
- ruby 2.x.x之新特性散谈
ruby入门看的是经典的<ruby编程语言>,可是那描述的是v1.9的老版本啊!下面聊一下ruby2.x.x的新特性,x是0-n都有可能啊. 1.关键字参数(Keyword argumen ...
随机推荐
- C# UdpClient 设置超时时间
/********************************************************************** * C# UdpClient 设置超时时间 * 说明: ...
- arduino上使用sprintf()函数输出float值出错
如果尝试使用sprintf()函数在arduino上进行对float指转换为一个字符串的话,你会发现,it doesn't work.弄了很久,还以为是没学c++的原因.其实在arduino上,这个函 ...
- python内存管理机制
主要分为三部分: (1)内存池机制(2)引用计数(3)垃圾回收 (1)内存池机制对于python来说,对象的类型和内存都是在运行时确定的,所以python对象都是动态类型简单来说,python内存分为 ...
- [转载]新手入门:Spring的一些学习方法及意见
原文地址:新手入门:Spring的一些学习方法及意见作者:飞扬飞扬xyz Spring简介: 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您 ...
- 织梦dedecms模板调用标签大全-提高制作模板速度
关键描述调用标签: ——————————————————————————–模板路径调用标签: {dede:field name=’templeturl’/}—————————————————————— ...
- 21. Merge Two Sorted Lists
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...
- Google Translate CLI 筆記
$ trans -shell -brief > Rien ne réussit comme le succès. Nothing succeeds like success. > Was ...
- jq版本1.7以上on方法使用结构
<script> $(function(){ $(document).on(" ...
- 工作中遇到的问题--使用DTO减少数据字段
Location中包含如下字段以及AMfgObject中关于创建信息的字段,然而有时使用并不需要传输那么多数据,则对其中字段进行过滤. @Entity@Table(name = "LOCAT ...
- Unable to get valid context for root
登陆时报以下错误Unable to get valid context for rootLast login: Wed Jul 24 02:06:01 2013 from 10.64.41.3 单机模 ...