У меня есть хэш, который выглядит следующим образом:удалить элемент из хэша на основе шаблона
{ "cell_number" => 1234567, "lead source" => [ "referrel", "web", "ad" ], "lead source_selected" => "web" }
Теперь, если есть шаблон, в котором ключ содержит «x_selected», то я хочу, чтобы вернуть весь хэш, за исключением для ключа x. Так что в этом случае я хочу, чтобы вернуть все, кроме «свинцовый источник»:
{ "cell_number" : 1234567, "lead source_selected" : "web" }
Моя попытка, кажется, работает:
h = { "cell_number" => 1234567, "lead source" => [ "referrel", "web", "ad" ], "lead source_selected" => "web" }
h.collect do |k,v|
if k =~ /(.+)_selected$/
h.delete($1)
end
end
=> [nil, nil, ["referrel", "web", "ad"]]
> h
=> {"cell_number"=>1234567, "lead source_selected"=>"web"}
Но есть более рубиновый способ сделать это?
Если есть ключ '' X_selected'', вы хотите удалить «Х» из хэша, правильно? –
@muistooshort yes – Donato