Ruby 数据类型


Ruby数据类型

Ruby是一种面向对象的动态编程语言,具有自动内存管理功能,支持多种数据类型。这里我们介绍Ruby的数据类型。

数值类型

Ruby支持不同的数值类型,如整型、小数和复数。

整型

Ruby支持不同大小的整型,如Fixnum(31位)和Bignum(不受长度限制)。可以使用to_i方法将字符串转换为整型,如:

num = "100".to_i

小数

Ruby支持小数类型,也称浮点数。默认情况下,Ruby使用Float类型表示小数。可以使用to_f方法将字符串转换为浮点数,如:

num = "3.14".to_f

复数

Ruby支持的数值类型中还包括复数类型,可以使用Complex类来表示复数。如:

z = Complex(1, 2)

进制转换

可以使用to_s方法将一个十进制整数转换为其他进制的字符串,如:

num = 10.to_s(2)   # 将10转换为二进制字符串"1010"

可以使用to_i方法将一个其他进制的字符串转换成十进制整数,如:

num = "1010".to_i(2)   # 将二进制字符串"1010"转换为十进制数字10

布尔类型

Ruby只有两个布尔值:truefalse。可以使用逻辑运算符&&||!来组合和操作不同的布尔值。

x = true
y = false
z = x && y        # false
z = x || y        # true
z = !x            # false

字符串类型

Ruby使用双引号(")或单引号(')来定义一个字符串。两种方式的区别在于,双引号可以包含转义字符,单引号不可以。如:

str1 = "Hello\nWorld"        # 包含了转义字符'\n'
str2 = 'Hello\nWorld'        # 不包含转义字符

Ruby还支持字符串插值,在双引号中可以插入表达式:

name = "Tom"
str = "My name is #{name}"

数组类型

Ruby的数组类型可以存储不同类型的元素,如整型、小数、字符串和其他数组。可以使用[]来创建一个空数组,使用<<向数组中添加元素。如:

arr = []
arr << 1
arr << "hello"

也可以使用[]来创建一个具有初始值的数组,如:

arr = [1, "hello"]

Ruby还提供了许多有用的方法来操作数组,如eachmapselectreduce等。

哈希类型

Ruby的哈希类型,也称为散列表类型,可以存储键值对。可以使用{}来创建一个空哈希,使用[]=向哈希中添加键值对。如:

hash = {}
hash["name"] = "Tom"
hash["age"] = 18

也可以使用{}来创建一个具有初始值的哈希,如:

hash = {"name"=>"Tom", "age"=>18}

可以使用each方法遍历哈希中的键值对:

hash.each do |key, value|
  puts "#{key}: #{value}"
end

总结

Ruby提供了多种有用的数据类型来处理不同的数据。熟练掌握这些数据类型,可以让我们更加高效地编写Ruby代码。