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