ruby中操作Hash的方法

读取键或值

  • hash.keys
  • hash.values
  • hash.to_a
  • hash.each { |key, value| ... }
  • hash.each_key
  • hash.each_value
  • hash.each_pair     # each方法的别名

查询是否存在键或值

  • hash.key?(key)
  • hash.has_key?(key)
  • hash.include?(key)   # 只能用于查询键,不能用于查询值
  • hash.member?(key)       # 同上
  • hash.value?(value)
  • hash.has_value?(value)

删除键或值

  • hash.delete(key)
  • hash.delete(key) { |k| puts "no #{ k }" }           # 如果键不存在,则返回区块的执行结果
  • hash.delete_if { |key, value| key == "a" }  # 将满足条件的删除,如果没有满足条件的可删除,则返回原来的对象
  • hash.reject! { |key, value| key == "a" }      # 将满足条件的删除,如果没有满足条件的可删除,则返回nil
原文地址:https://www.cnblogs.com/jing5022/p/3177371.html