0
我想刪除具有相同開頭的哈希所有按鍵所有按鍵,例如刪除從哈希具有相同的開始
myhash[:x_key_a]
myhash[:x_key_b]
myhash[:x_key_c]
,所以我想刪除所有啓動項與x
從myhash
有更好的方式來做到這一點,而不是所有的鑰匙?
我想刪除具有相同開頭的哈希所有按鍵所有按鍵,例如刪除從哈希具有相同的開始
myhash[:x_key_a]
myhash[:x_key_b]
myhash[:x_key_c]
,所以我想刪除所有啓動項與x
從myhash
有更好的方式來做到這一點,而不是所有的鑰匙?
myhash.delete_if{ |key, _| key.to_s.start_with?('x') }
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}
我會做同樣的。然而,OP的問題的答案是「否」,你必須迭代所有的密鑰。 – tessi
通過檢查我的意思所有的鑰匙 - 通過keys.each等所有非鑰匙方式的鑰匙。 –
@NickGinanto所以這個答案應該爲你工作。 –