Cómo hacer captura de nombre en rubí.

Quiero nombrar la captura de cadena que obtengo del escaneo. ¿Cómo hacerlo?

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

¿Es posible convertirlo así?

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

o

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

Lo intenté

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

pero vuelve

[]

Respuestas a la pregunta(3)

Su respuesta a la pregunta