我想删除具有相同开头的哈希中的所有键,例如
myhash[:x_key_a]
myhash[:x_key_b]
myhash[:x_key_c]
所以我想从x
myhash
开头的键
除了翻看所有按键之外,还有更好的方法吗?
答案 0 :(得分:3)
myhash.delete_if{ |key, _| key.to_s.start_with?('x') }
答案 1 :(得分:0)
myhash = {}
myhash[:x_key_a] = 1
myhash[:x_key_b] = 2
myhash[:y_key_c] = 3
p myhash.delete_if{ |key, _| key.match(/^x/) }
# => {:y_key_c=>3}