Ruby數據類型

數據類型表示一種類型的數據,例如文本,字符串,數字等。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>