Как сделать именованный захват в ruby
Я хочу назвать захват строки, полученной при сканировании. Как это сделать?
"555-333-7777".scan(/(\d{3})-(\d{3})-(\d{4})/).flatten #=> ["555", "333", "7777"]
Можно ли превратить это в так
{:area => "555", :city => "333", :local => "7777" }
или же
[["555","area"], [...]]
Я пытался
"555-333-7777".scan(/((?<area>)\d{3})-(\d{3})-(\d{4})/).flatten
но возвращается
[]