1.4Ruby语言的类型(Type)

1.整数(Integer)类型

类型范围
Integer任意精度
进制描述
二进制以 0b(零和小写字母b) 或 0B(零和大写字母B) 开头,后续只能包含数字 0 和 1。
八进制以 0(零) 或 0o(零和小写字母o) 或 0O(零和大写字母O) 开头,后续只能包含数字(0~7)。
十进制以 0d(零和小写字母d) 或 0D(零和大写字母D) 开头,后续只能包含数字(0~9)。
十六进制以 0x(零和小写字母x) 或 0X(零和大写字母X) 开头,后续只能包含 数字(0~9) 和 字母(a~f 或 A~F)。字母(a~f 或 A~F) 表示数字 10 到 15。

为了提高数值的可读性,下划线(_)可以用作分隔符,解析时会被 Ruby 解释器移除。

#作为千分位分隔符
1_000_000_000

2.浮点(Float)类型

类型范围
Float±Float::MIN ≤ n ≤ ±Float::MAX

浮点数还可以使用科学记数法来表示:一个数值(整数或浮点数)后跟一个大写或小写的字母 e(表示乘以 10),再跟一个前面的乘以 10 的多少次幂。

#十进制形式
5.12

#科学记数法形式
#注意:这是浮点数500.0,而不是整数500。
5e2
#注意:这是浮点数512.0,而不是整数512。
5.12e2

浮点类型还包括五个特殊的值:

描述示例
Infinity(正无穷)
-Infinity(负无穷)
任何无法表示的最大正数或最小负数。Float::MAX * 2 # Infinity
-Float::MAX * 2 # -Infinity
0.0(正零)
-0.0(负零)
任何无法表示的最小正数或最大负数。1/Float::INFINITY # 0.0
-1/Float::INFINITY # -0.0
NaN(Not a Number,非数值)在数学运算中,当遇到一些无法运算的情况时,使用 NaN 表示这种情况,而不是抛出错误。Float::INFINITY/Float::INFINITY # NaN

关于进制部分,与上述整数类型描述一样。

关于下划线部分,与上述整数类型描述一样。

3.TrueClass类型和FalseClass类型

类型
TrueClasstrue
FalseClassfalse
类型这些值被认为是假性(Falsy)
FalseClassfalse
NilClassnil

4.BasicObject类型

BasicObject 是所有类型的根类型。

类型描述
BasicObject详见类章节

5.对象(Object)类型

类型描述
Object详见类章节

6.模块(Module)类型

类型描述
Module详见模块章节

7.Class类型

类型描述
Class详见类章节

8.方法(Method)类型

类型描述
Method详见方法章节

9.字符串(String)类型

类型描述
String详见字符串章节

10.符号(Symbol)类型

类型描述
Symbol详见符号章节

11.数组(Array)类型

类型描述
Array详见数组章节

12.哈希(Hash)类型

类型描述
Hash详见哈希章节

13.集合(Set)类型

类型描述
Set详见集合章节

14.范围(Range)类型

类型描述
Range范围类型
# a(包含) 到 b(包含)之间的元素
a..b

# a(包含) 到 b(不包含)之间的元素
a...b

15.NilClass类型

类型描述
NilClassnil空对象

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/ruby/rubylang/37416.html

(0)
huoxiaoqiang的头像huoxiaoqiang
上一篇 2025年3月4日 00:26
下一篇 2025年3月4日 19:38

相关推荐

  • 1.8Ruby语言的语句(Statement)

    1.表达式(Expression)语句 表达式语句往往简称为表达式。

    Ruby语言教程 2025年3月8日
    0210
  • 2.6Ruby类型之哈希(Hash)

    哈希的键必须是不可变类型,且不必都是同一个类型,最常用的是符号类型。 哈希的键可以重复,后定义的键值对会覆盖先定义的键值对,会报错。 哈希的值可以是任何 Ruby 数据类型,且不必都是同一个类型。 哈希的值可以重复。 哈希的键值对是无序的,但迭代时是有序的。 哈希的键值对的个数(长度)可以动态改变,可以添加、更改、删除…

    Ruby语言教程 2025年5月6日
    0260
  • 1.7Ruby语言的方法(Method)

    1.方法定义 1.1方法声明 方法声明不是对象,更不是 Method 类的对象。 注意:在没有歧义的情况下,形参外围的圆括号 () 可以被省略。 1.2块 块不是对象,更不是 Proc 类的对象。 注意:块必须与方法调用表达式关联使用,不可以单独使用。 注意:一般情况下,单行使用花括号 {} 方式,多行使用 do/en…

    Ruby语言教程 2025年3月7日
    0180

发表回复

登录后才能评论