Jak zrobić nazwane przechwytywanie w rubinie

Chcę nazwać przechwytywanie ciągu, który otrzymuję ze skanowania. Jak to zrobić?

"555-333-7777".scan(/(\d{3})-(\d{3})-(\d{4})/).flatten #=> ["555", "333", "7777"]

Czy można to zmienić w ten sposób

{:area => "555", :city => "333", :local => "7777" }

lub

[["555","area"], [...]]

próbowałem

"555-333-7777".scan(/((?<area>)\d{3})-(\d{3})-(\d{4})/).flatten

ale wraca

[]

questionAnswers(3)

yourAnswerToTheQuestion