У меня есть хэш, как это:Как изменить хэш-ключи
test
=> {"QTC-1 test"=>"pass", "QTC-2 test"=>"fail"}
Я хочу взять каждый ключ в хэш и удалить все символы после цифр, пример:
«QTC-1 тест "должен быть равен„QTc-1“
Я близок к решению, но не полностью там:
str = test.keys[0]
=> "QTC-1 test"
new = str.slice(0..(str.index(/\d/)))
=> "QTC-1"
но нужны некоторые он lp делает это с помощью хеш-ключа (ов).
Бонус
Изменение значений в соответствующие числовые значения:
Таким образом, если значение = передать затем изменить его на 1 или если значение = сбой, то изменить его на 2.
бонус возможного ответ:
scenarios.each_pair { |k, v|
case v
when 'pass'
scenarios[k] = 1
when 'fail'
scenarios[k] = 2
when 'block'
scenarios[k] = 3
else
scenarios[k] = 4
end
}
Вы не можете измените ключи, но вы можете вставить те же значения под новыми клавишами (и удалить старые ключи) или создать новый хеш с правильными клавишами. –