Date
Nov. 21st, 2024
 
2024年 10月 21日

Post: Ruby Primer 005: Data Type

Ruby Primer 005: Data Type

Published 12:02 Feb 28, 2013.

Created by @ezra. Categorized in #Programming, and tagged as #Ruby.

Source format: Markdown

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

其中,FixnumBignum 均为整数,它们的区别仅仅是可表示范围大小的不同(很显然 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)

布尔只有两种取值,分别是 truefalse。严格来说在 Ruby 中并没有布尔这个类型,其值分别属于 TrueClassFalseClass 两个类。

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
Pinned Message
HOTODOGO
The Founder and CEO of Infeca Technology.
Developer, Designer, Blogger.
Big fan of Apple, Love of colour.
Feel free to contact me.
反曲点科技创始人和首席执行官。
开发、设计与写作皆为所长。
热爱苹果、钟情色彩。
随时恭候 垂询