数据类型表示一种类型的数据,例如文本,字符串,数字等。Ruby中有以下几种不同的数据类型:
- 数字
- 字符串
- 符号
- 哈希
- 数组
- 布尔
1. 数字
整数和浮点数位于数字类别中。
整数以二进制格式保存。 整数是没有分数的数字。 根据它们的大小,有两种类型的整数。 一个是Bignum
,另一个是Fixnum
。
类别 | 描述 | 示例 |
---|---|---|
Fixnum | 正常数字 | 1 |
Bignum | 大数字 | 9999999910129 |
Float | 十进制浮点数 | 3.0 |
Complex | 复数/虚数 | 4 + 3i |
Rational | 有理数 | 9/4 |
BigDecimal | 有精度十进制数 | 6.0 |
示例:
- 在使用整数的计算中,则只会返回整数。
C:\Users\Administrator>irb
irb(main):001:0> 3 + 6
=> 9
irb(main):002:0>
- 在使用
float
类型的计算中,只会将float
类型数值返回。
irb(main):003:0> 4.4 + 5.6
=> 10.0
irb(main):004:0> 5 + 7.9
=> 12.9
irb(main):005:0>
- 在执行除法运算的情况下,将显示以下输出。
irb(main):002:0> 17/3
=> 5
irb(main):003:0>
2. 字符串
字符串是表示一个或多个单词的一组字母。 字符串通过在单('
)或双("
)引号内包含文本来定义。
示例:
- 两个字符串之间可以使用
+
号进行连接。
irb(main):005:0> "Yii" + "Bai" + ".com"
=> "YiiBai.com"
irb(main):006:0> 'Yii' + 'Bai' + '.com'
=> "YiiBai.com"
irb(main):007:0> 'Yiibai' + ".com"
=> "Yiibai.com"
irb(main):008:0>
- 将数字字符串与数字相乘将重复该字符串多次。
irb(main):008:0> "1" + "2" + "3"
=> "123"
irb(main):009:0> "yiibai" * 3
=> "yiibaiyiibaiyiibai"
irb(main):010:0> 'yii@ ' * 3
=> "yii@ yii@ yii@ "
irb(main):011:0>
3. 符号
符号就像字符串。一个符号之前是冒号(:
)。 例如,
:abcd
它们不包含空格。 含有多个单词的符号用(_
)写成。 字符串和符号之间的一个区别是,如果文本是一个数据,那么它是一个字符串,但如果它是一个代码,它是一个符号。
符号是唯一的标识符,表示静态值,而字符串表示更改的值。
示例:
irb(main):011:0> "string".object_id
=> 26922000
irb(main):012:0> "string".object_id
=> 29115220
irb(main):013:0> :symbol.object_id
=> 788188
irb(main):014:0> :symbol.object_id
=> 788188
irb(main):015:0>
在上面的演示代码中,为字符串创建了两个不同的object_id
,但是对于符号,创建了object_id
。
4. 哈希
哈希将其值分配给其键。 它们可以用键关联指定值。键的值由=>
符号分配。 键/值对之间用逗号分隔,所有对都用大括号括起来。 例如,
{"key1" => "value1", "key2" => "Chemistry", "key3" => "Maths"}
实例
#!/usr/bin/ruby
data = {"key1" => "Physics", "key2" => "Chemistry", "key3" => "Maths"}
puts data["key1"]
puts data["key2"]
puts data["key3"]
将上面代码保存到一个文件:hashes-example.rb 中,执行上面代码,得到以下结果 -
F:\worksp\ruby>ruby hashes-example.rb
Physics
Chemistry
Maths
F:\worksp\ruby>
5. 数组
数组存储数据或数据列表。 它可以包含所有类型的数据。 数组中的数据之间用逗号分隔,并用方括号括起来。 例如,
["Akash", "Ankit", "Aman"]
数组中的元素由其位置检索。 数组中元素的位置以0
开头。
示例:
#!/usr/bin/ruby
data = ["Akash", "Ankit", "Aman"]
puts data[0]
puts data[1]
puts data[2]
将上面代码保存到一个文件:arrays-example.rb 中,执行上面代码,得到以下结果 -
F:\worksp\ruby>ruby arrays-example.rb
Akash
Ankit
Aman
F:\worksp\ruby>