溫馨提示×

Ruby哈希操作有哪些實(shí)用方法

小樊
81
2024-11-06 02:57:37
欄目: 編程語言

Ruby 哈希(Hash)是一種可變的、無序的鍵值對集合

  1. 創(chuàng)建哈希:

    hash = {} # 空哈希
    hash = {key1: value1, key2: value2} # 帶有鍵值對的哈希
    hash = Hash.new # 默認(rèn)值為 nil 的哈希
    hash = Hash.new(default_value) # 使用默認(rèn)值的哈希
    
  2. 訪問哈希元素:

    hash[key] # 返回鍵對應(yīng)的值,如果不存在則返回 nil
    
  3. 修改哈希元素:

    hash[key] = new_value # 修改鍵對應(yīng)的值
    
  4. 刪除哈希元素:

    hash.delete(key) # 刪除鍵對應(yīng)的元素,返回被刪除的值
    hash.delete_if { |key, value| condition } # 刪除滿足條件的元素
    
  5. 檢查哈希中是否存在某個鍵:

    hash.has_key?(key) # 返回 true 如果存在,否則返回 false
    hash.key?(key) # Ruby 3.0+ 中推薦使用此方法
    
  6. 獲取哈希的長度:

    hash.length # 返回哈希中的元素個數(shù)
    
  7. 遍歷哈希:

    hash.each { |key, value| block } # 遍歷哈希中的每個元素
    hash.each_key { |key| block } # 只遍歷鍵
    hash.each_value { |value| block } # 只遍歷值
    hash.each_pair { |key, value| block } # 遍歷鍵值對
    
  8. 合并哈希:

    hash1.merge(hash2) # 返回一個新的哈希,包含 hash1 和 hash2 的所有元素,如果鍵沖突則使用 hash2 的值
    hash1.merge!(hash2) # 修改 hash1,使其包含 hash1 和 hash2 的所有元素,如果鍵沖突則使用 hash2 的值
    
  9. 轉(zhuǎn)換哈希:

    hash.to_a # 將哈希轉(zhuǎn)換為鍵值對數(shù)組
    hash.to_s # 將哈希轉(zhuǎn)換為字符串
    hash.inspect # 返回哈希的字符串表示形式
    
  10. 哈希的常用方法:

    hash[:key] # 使用符號作為鍵訪問哈希元素
    hash[key] = value # 同時設(shè)置鍵和值
    hash.has_value?(value) # 檢查哈希中是否存在某個值
    hash.values # 返回哈希中所有值的數(shù)組
    hash.keys # 返回哈希中所有鍵的數(shù)組
    hash.empty? # 檢查哈希是否為空
    hash.size # 返回哈希中的元素個數(shù)(與 length 等價)
    

這些實(shí)用方法可以幫助您更有效地操作 Ruby 哈希。

0