Ruby Numeric类
Numeric类
| Fixnum | 普通整数 |
| Bignum | 大整数 |
| Rational (有理数) | 有理数,以分数形式产生 Rational(1, 2) #1/2 |
| .to_f() 转换为Float |
|
| .numerator() 分子 | |
| .denominator() 分母 | |
| Complex (复数) | 复数,以实部和虚部形式生成 Complex(1, 12) #1 + 12i |
| .real() 实部 |
|
| .imaginary() 虚部 | |
| 字符 | |
| 123 | 10进整数 123_123_123 |
| 0123 | 8进整数 |
| 0o123 | 8进整数 |
| 0d123 | 10进整数 |
| 0x123 | 16进整数 |
| 0b1111011 | 2进整数 |
| 123.45 | 浮动小数点数 |
| 1.23e4 | 浮动小数点数的指数表达 |
| 1.23e-4 | 浮动小数点数的指数表达 |
| 123r | 有理数 123/1 |
| 123.45r | 有理数 123.45/1 = 2469/20 |
| 123i | 虚数 123i |
| 123.45i | 虚数 123.45i |
| 运算 | + - * / % **(幂运算) 位运算: 只可用于Integer ~, &, |, ^(xor) >>, << |
| 商 | 11.div(2) = 5 |
| 商 (有理数形式) | 11.que(2) = 11/2 |
| 余数 (恒正) | -1.modulo(2) = 1 |
| 余数 (同符号) | -1.remainder(2) = -1 |
| 商与余数 | -1.divmod(2) = [-1, 1] |
| Math | 使用: Math.func-name sin(x) cos(x) tan(x) sqrt(x) 平方根 cbrt(x) 立方根 |
| 类型转换 | to_s(base=10) 转文字 默认转化为10进制 to_i(base=10) 转整数 默认转化为10进制 to_f() 转浮动小数点数 round(ndigits=0) 四舍五入n位小数 默认取整 n可以为负数, 为取整后从小位开始把位上的数变0 123.123.round(-1) = 120 ceil() 最小更大整数 1.6.ceil() = 2 floor() 最大更小整数 1.6.floor() = 1 |
| 随机数 | r = Random.new() 可以手动添加参数 默认随机数参数 r.rand() 生成随机数 安全随机数 require "securerandom" SecureRandom.random_bytes(n) 生成n位的随机字符串 SecureRandom.base64(n) 生成n位的随机字符串(0~63的值) |
| 循环 | n.times() do |temp| 进行n次(0...n-1) ... end |
| 从n到to | n.upto(to) do |temp| n..to ... end |
| 从to到n,递减 | n.downto(from) do |temp| ... end |
| 从n到to n..to, r = n+t*step |
n.step(to, step) do |temp| ... end |
| 模块 | include Comparable 自定义 <=> a > b: 1 a == b: 0 a < b: -1 |
Ruby Numeric类的更多相关文章
- 雷林鹏分享:Ruby Dir 类和方法
Ruby Dir 类和方法 Dir 是一个表示用于给出操作系统中目录中的文件名的目录流.Dir 类也拥有与目录相关的操作,比如通配符文件名匹配.改变工作目录等. 类方法 序号方法 & 描述 1 ...
- 雷林鹏分享:Ruby File 类和方法
Ruby File 类和方法 File 表示一个连接到普通文件的 stdio 对象.open 为普通文件返回该类的一个实例. 类方法 序号方法 & 描述 1File::atime( path) ...
- Ruby on Rails Tutorial 第四章 Rails背后的Ruby 之 类
Ruby和其他面向对象的语言一样,使用类来组织方法,然后实例化类,创建对象.1.构造方法使用双引号是字符串的字面构造方法,也可以使用“具名构造方法”,即在类名上调用new方法 >> s=& ...
- objective-c中类似ruby枚举类的实例方法
虽然obj-c的语法格式略显繁琐,但它和ruby都从某些方面继承了smalltalk的某些动态的东西.这些东西是 C和C++之类的静态语言所不曾有的. 比如ruby中可以将一个类或对象的所有方法枚举出 ...
- Ruby Time类和Date类
Time类 更新: 2017/06/23 更新了Data/Time在model模式下的便利方法 更新: 2018/10/12 修改了%Y相关描述防止误解 年月日时分秒,时区 生成 获取当前时 ...
- Ruby Numeric
Numeric |-- Float |-- Integer |-- Fixnum |-- Bignum Numeric的基本结构 整数的差异,一般的数字Fixnum就能够处理,即使超过了Fixnum的 ...
- RUBY的类封装,继承,多态简单演示
class Person def initialize(name,age=18) @name=name @age=age @motherland="China" end def t ...
- ruby File类
类方法 路径相关: File.basename(filename <, suffix>) -> string返回给定文件名 filename 的最后一部分.如果有 suffix 参数 ...
- ruby Time类与Date类
Time类用于表示时间.时间除了表示年月日时分秒的信息外,还包含了表示地域时差的时区(time zone)信息.例如我们可以计算中国当前时间是国际协调时间的几点 Date类只用于表示年月日.因此,相对 ...
随机推荐
- msp430项目编程24
msp430中项目---MMC接口 1.串行通信工作原理 2.串行通信协议 3.代码(显示部分) 4.代码(功能实现) 5.项目总结 msp430项目编程 msp430入门学习
- T1992 聚会 codevs
http://codevs.cn/problem/1992/ 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 小S 想要从某地 ...
- 一个Tomcat最多支持多少用户的并发?
,也就是说同时支持 另外,在 Java 中每开启一个线程需要耗用 1MB 的 JVM 内存空间用于作为线程栈之用.Tomcat的最大并发数是可以配置的,实际运用中,最大并发数与硬件性能和CPU数量都有 ...
- vue2.0单元测试(一)
1.在vue init webpack XXX创建项目的时候 最后2步选择YES就启动了vue单元测试开始了 2.测试是使用karma+mocha框架来实现的方法,安装虚拟浏览器模块Phantom ...
- easyUI排序问题
使用easyUI时,需要在点击页面的某一列进行desc或asc排序,那么在jsp中可以把该列js的sortable 设置true. 加在某字段上时,该字段点击时页面会出现一小三角图案 ,此时easyU ...
- java验证身份证号码是否有效源代码
原文:http://www.open-open.com/code/view/1420373343171 1.描述 用java语言判断身份证号码是否有效,地区码.出身年月.校验码等验证算法 2.源代码 ...
- zerorpc使用时报错:No handlers could be found for logger "zerorpc.channel"
问题如题:安装方法参考 http://www.cnblogs.com/shengulong/p/7887586.html ,安装完后,使用时出现如题的错误 解决办法: 1.zerorpc本身依赖很多三 ...
- 【转】c++内存管理学习纲要
http://blog.csdn.net/zhanghefu/article/details/5003407 转自:http://blog.csdn.net/wdzxl198/article/deta ...
- bug集合及其解决方法
点击查看原文 1. java.lang.IllegalStateException: Expected a string but was BEGIN_ARRAY at line 1 column 27 ...
- axis2开发webservice之编写Axis2模块(Module)
axis2中的模块化开发.能够让开发者自由的加入自己所需的模块.提高开发效率,减少开发的难度. Axis2能够通过模块(Module)进行扩展. Axis2模块至少须要有两个类,这两个类分别实现了Mo ...