Table of Content
了解 Ruby 的变量和常量后,我们来进一步学习 Ruby 的数据类型。
在 Ruby 中数据分为六种,分别是:
-
字符串(String) -
数字(Number) -
数组(Array) -
哈希表(Hash) -
布尔(Boolean) -
字符(Symbol)
字符串(String)
字符串使用一对双引号(")包围。
irb(main):001:0> "123".class
=> String
irb(main):002:0> "123ewrwer".class
=> String
irb(main):003:0> "123ewrwer.class".class
=> String
数字(Number)
数字并不是一种数据类型,数字在 Ruby 中分为类型:
-
Fixnum -
Bignum -
Float
其中,Fixnum 与 Bignum 均为整数,它们的区别仅仅是可表示范围大小的不同(很显然 Bignum 的范围更大);而 Float 表示浮点数。
irb(main):001:0> 12.class
=> Fixnum
irb(main):002:0>1282872837218937218372189321837218937129.class
=> Bignum
irb(main):002:0> 123.456.class
=> Float
irb(main):002:0> 12828e7.class
=> Float
数组(Array)
数组使用一对方括号([ 和 ])包围,其中多个元素之间使用逗号(,)分割,最后一个元素后面不加逗号。
irb(main):001:0> arr = [1,"abc",12.3]
=> [1, "abc", 12.3]
irb(main):002:0> arr.class
=> Array
获取数组元素的值,使用 数组变量标识符[元素下标],元素下标以0开始。
irb(main):003:0> arr[1]
=> "abc"
哈希表(Hash)
哈希表其实就是字典(Dictionary),使用一对大括号({ 和 })包围,元素以键值对的形式出现,键值之间使用 => 分割,其中多个元素之间使用逗号(,)分割,最后一个元素后面不加逗号。
irb(main):001:0> somehash = {:name => "Meniny",:age => 18}
=> {:name=>"Meniny", :age=>18}
irb(main):002:0> somehash.class
=> Hash
获取哈希表元素的值,使用 哈希表变量标识符[元素键名]。
irb(main):003:0> somehash[:name]
=> "Meniny"
布尔(Boolean)
布尔只有两种取值,分别是 true 与 false。严格来说在 Ruby 中并没有布尔这个类型,其值分别属于 TrueClass 与 FalseClass 两个类。
irb(main):001:0> true.class
=> TrueClass
irb(main):002:0> false.class
=> FalseClass
irb(main):003:0> somebool = true
=> true
irb(main):004:0> somebool.class
=> TrueClass
irb(main):005:0>
字符(Symbol)
字符以冒号(:)开头,哈希表中使用的键名就是符号类型。
irb(main):001:0> :somesym.class
=> Symbol