在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Ruby/ Ruby哈希
Ruby for循環(huán)
Ruby教程
Ruby文件I/O
Ruby迭代器
Ruby哈希
Ruby日期時間
Ruby類和對象
Ruby快速入門(30分鐘)
Ruby redo/retry語句
Ruby模塊
Ruby解析XML(REXML)
Ruby if-else語句
Ruby的功能特點(diǎn)
Ruby break/next語句
Ruby方法
Ruby是什么?
Ruby與Python比較
Ruby Case語句
Ruby目錄
Ruby范圍
Ruby異常
Ruby套接字編程(Socket)
Ruby字符串
Ruby安裝配置
Ruby運(yùn)算符
Ruby while/do...while循環(huán)語句
Ruby第一個HelloWorld程序
Ruby until循環(huán)語句
Ruby注釋
Ruby塊
Ruby數(shù)據(jù)類型
Ruby面向?qū)ο?/span>
Ruby正則表達(dá)式
Ruby數(shù)組
Ruby變量
Ruby多線程編程

Ruby哈希

Ruby哈希是唯一鍵及其值的集合。 它們與數(shù)組類似,但數(shù)組只能使用整數(shù)作為索引,哈希使用任何對象類型。 它們也稱為關(guān)聯(lián)數(shù)組,字典或映射。

如果使用不存在的鍵訪問哈希,則將返回nil。

語法

name = {"key1" => "value1", "key2" => "value2", "key3" => "value3"...}  
                    OR  
name = {key1:  'value1', key2:  'value2', key3:  'value3'...}

創(chuàng)建Ruby哈希

Ruby哈希是通過在{}花括號中編寫鍵值對來創(chuàng)建的。要獲取哈希值,請在[]方括號內(nèi)寫入所需的鍵名稱。

示例

#!/usr/bin/ruby 
# file : hashes-create.rb
color = {   
    "Rose" => "red",   
    "Lily" => "purple",   
    "Marigold" => "yellow",   
    "Jasmine" => "white"   
  }   
  puts color['Rose']   
  puts color['Lily']   
  puts color['Marigold']   
  puts color['Jasmine']

執(zhí)行上面示例代碼,得到以下結(jié)果 -

F:\worksp\ruby>ruby hashes-create.rb
red
purple
yellow
white

F:\worksp\ruby>

修改Ruby哈希

可以通過在已存在的哈希中添加或刪除鍵值對來修改Ruby哈希。

示例

#!/usr/bin/ruby 
# file : hashes-modify.rb
color = {   
    "Rose" => "red",   
    "Lily" => "purple",   
    "Marigold" => "yellow",   
    "Jasmine" => "white"   
  }   
  color['Tulip'] = "pink"   
  color.each do |key, value|   
  puts "#{key} color is #{value}"   
 end

執(zhí)行上面示例代碼,得到以下結(jié)果 -

F:\worksp\ruby>ruby hashes-modify.rb
Rose color is red
Lily color is purple
Marigold color is yellow
Jasmine color is white
Tulip color is pink

F:\worksp\ruby>

Ruby哈希方法

Ruby哈希有很多方法。 一些是公共類方法和一些公共實(shí)例方法。

公共類方法

方法 描述
Hash[object] 用給定的對象創(chuàng)建一個新的哈希。
new(obj) 返回一個新的空哈希。
try_convert(obj) 嘗試將obj轉(zhuǎn)換為哈希。

公共實(shí)例方法

方法 描述
hsh==other_hash 如果它們包含相同的鍵和值對,則兩個哈希值相等。
hsh[key] 從相應(yīng)的鍵取回值。
hsh[key] = value 將新值與給定鍵相關(guān)聯(lián)(賦值)
assoc(obj) 在哈希中比較obj
clear 從哈希中刪除所有鍵值對或是清空所有數(shù)據(jù)。
compare_by_identity 按其標(biāo)識比較哈希鍵。
compare_by_identity? 如果哈希通過其標(biāo)識比較其鍵,則返回true。
default(key=nil) 返回默認(rèn)值
default = obj 設(shè)置默認(rèn)值
delete(key) 刪除鍵值對
each 在哈希中為每個鍵調(diào)用一次
empty? 如果哈希不包含鍵值對,則返回true
eql>(other) 如果哈希和其他兩者都具有相同的內(nèi)容,則返回true
fetch(key[, default]) 從給定鍵返回哈希值。
flatten 返回一個新的數(shù)組,這是這個哈希的一維平坦化數(shù)據(jù)值。
has_key?(key) 如果哈希中存在給定鍵,則返回true。
has_value?(value) 如果給定的值存在于哈希中,則返回true。
include?(key) 如果哈希中存在給定鍵,則返回true。
to_s/ inspect 將哈希的內(nèi)容轉(zhuǎn)為字符串返回。

上一篇:Ruby變量下一篇:Ruby注釋