數(shù)據(jù)類型表示一種類型的數(shù)據(jù),例如文本,字符串,數(shù)字等。Ruby中有以下幾種不同的數(shù)據(jù)類型:
整數(shù)和浮點數(shù)位于數(shù)字類別中。
整數(shù)以二進(jìn)制格式保存。 整數(shù)是沒有分?jǐn)?shù)的數(shù)字。 根據(jù)它們的大小,有兩種類型的整數(shù)。 一個是Bignum,另一個是Fixnum。
| 類別 | 描述 | 示例 |
|---|---|---|
| Fixnum | 正常數(shù)字 | 1 |
| Bignum | 大數(shù)字 | 9999999910129 |
| Float | 十進(jìn)制浮點數(shù) | 3.0 |
| Complex | 復(fù)數(shù)/虛數(shù) | 4 + 3i |
| Rational | 有理數(shù) | 9/4 |
| BigDecimal | 有精度十進(jìn)制數(shù) | 6.0 |
示例:
C:\Users\Administrator>irb
irb(main):001:0> 3 + 6
=> 9
irb(main):002:0>
float類型的計算中,只會將float類型數(shù)值返回。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>
字符串是表示一個或多個單詞的一組字母。 字符串通過在單(')或雙(")引號內(nèi)包含文本來定義。
示例:
+號進(jìn)行連接。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>
符號就像字符串。一個符號之前是冒號(:)。 例如,
:abcd
它們不包含空格。 含有多個單詞的符號用(_)寫成。 字符串和符號之間的一個區(qū)別是,如果文本是一個數(shù)據(jù),那么它是一個字符串,但如果它是一個代碼,它是一個符號。
符號是唯一的標(biāo)識符,表示靜態(tài)值,而字符串表示更改的值。
示例:
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>
在上面的演示代碼中,為字符串創(chuàng)建了兩個不同的object_id,但是對于符號,創(chuàng)建了object_id。
哈希將其值分配給其鍵。 它們可以用鍵關(guān)聯(lián)指定值。鍵的值由=>符號分配。 鍵/值對之間用逗號分隔,所有對都用大括號括起來。 例如,
{"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 中,執(zhí)行上面代碼,得到以下結(jié)果 -
F:\worksp\ruby>ruby hashes-example.rb
Physics
Chemistry
Maths
F:\worksp\ruby>
數(shù)組存儲數(shù)據(jù)或數(shù)據(jù)列表。 它可以包含所有類型的數(shù)據(jù)。 數(shù)組中的數(shù)據(jù)之間用逗號分隔,并用方括號括起來。 例如,
["Akash", "Ankit", "Aman"]
數(shù)組中的元素由其位置檢索。 數(shù)組中元素的位置以0開頭。
示例:
#!/usr/bin/ruby
data = ["Akash", "Ankit", "Aman"]
puts data[0]
puts data[1]
puts data[2]
將上面代碼保存到一個文件:arrays-example.rb 中,執(zhí)行上面代碼,得到以下結(jié)果 -
F:\worksp\ruby>ruby arrays-example.rb
Akash
Ankit
Aman
F:\worksp\ruby>