Есть ли общий рубин идиома для этого кода:рубин идиома для обновления или вставки HashMap
if hashmap.has_key?(key)
hashmap[key] += 1
else
hashmap[key] = 1
end
Такое ощущение, что там может быть высокая функция порядка, которая помогает здесь. Я надеюсь, что-то вроде
hashmap[key].insertOrUpdate { 1 }, {|value| value += 1}
Edit: Хотя @ ответ Santhosh является прохладным и работает с моим конкретным примером, я более заинтересован в общем случае. Я думаю, что ответ @ Савва дает большую гибкость в качестве кодового блока передается в возможности сложной логики, как хэш хэша и т.д. ...
Я не следую. После определения 'hashmap',' hashmap ['cat'] # => 2'. –
В этом случае по умолчанию должно быть 0, чтобы соответствовать моему примеру, но общая идея хорошая и именно то, что я искал. – thisisdog
Извините. Это должно быть «0», как указал Кэри. – sawa