В методе я получаю список параметров, переданных в. Некоторые из них связаны с определенной областью. Я хочу сохранить эти специальные ключи в другом хэше, чтобы передать его другому методу и удалить их из исходного хэша.выберите и удалите из хеша в ruby
(я на самом деле, пишущие рельсы simple_form пользовательский ввод, но это не имеет значения)
Я следующий код:
all_options = { :key1 => 1, :key2 => 2, :something_else => 42 }
my_keys = [:key1, :key2, :key3, :key4]
my_options = all_options.select {|k,v| my_keys.include?(k)}
all_options.delete_if {|k,v| my_keys.include?(k)}
# expecting
my_options == { :key1 => 1, :key2 => 2 }
all_options == { :something_else => 42 }
Теперь мой вопрос есть лучше, то есть умнее способ сделать это?
Возможно, это просто сахар, но я хочу знать.
Не могли бы вы опубликовать точный вход (ы)/вывод, который вы ожидаете, которые мы можем вставить в наших редакторов попробовать? – Dogbert
все ваше сообщение создает путаницу. Скорее дайте некоторый образец ввода и обработайте ожидаемый результат и на более легких заметках, что вы пробовали .. делает хороший вопрос, я думаю .. –
извините за путаницу. Я думал, что было бы полезно добавить то, что я пробовал, чтобы избежать получения тех же идей. Надеюсь, что сейчас лучше. –