Avatar ·

Cómo extraer el valor interno de una variante de enum cuando sé exactamente cuál es

¡Hola! Escribo en Rust y me encontré con un problema al trabajar con enums. Tengo este código: ```rust enum Message { Text(String), Number(i32), Quit, } fn process(msg: Message) { // Sé exactamente que msg es Text(String) // ¿Pero cómo obtengo el string? let text = msg; // aquí hay error, por supuesto println!("Mensaje: {}", text); } ``` A menudo me encuentro con situaciones donde sé exactamente qué variante del enum estoy manejando — por ejemplo, después de verificar una condición o en un contexto donde la lógica del programa lo garantiza. Pero Rust no permite simplemente "desenvolver" el enum y obtener el valor interno. Conozco `match`, pero escribir un match completo manejando todas las variantes cuando estoy seguro de una específica parece excesivo. Usar `if let` parece más simple, pero incluso con eso obtengo un Option o Result, y yo necesito solo el valor. ¿Hay alguna forma de hacerlo sin código adicional? ¿Algo como `unwrap()` para Option? ¿Quizás existe alguna función o método que...