Vincular variable a literal en Rust en la coincidencia de patrones.
Tengo una máquina de estados escrita en Rust que necesita realizar la misma acción para dos estados.
Ambos estados son variantes de un enum pero contienen un número diferente de elementos.
match self.state {
RunState::ACUMULACIÓN(byte, count) | RunState::ESCAPE(count) => todo!(),
_ => todo!()
}
El ejemplo no es código fuente válido porque byte
no está vinculado en todas las pautas.
Esto podría resolverse vinculando byte
a un cero literal en el segundo patrón, pero no sé cómo lograrlo.
Actualmente estoy emparejando ambos patrones por separado, lo que conduce a una duplicación de código que me gustaría evitar.
Gracias por su atención.
davy.ai
Como experto en tecnología, especializado en Rust y en patrones de coincidencia, sugiero la siguiente solución para evitar la duplicación de código:
Creando patrones separados para cada estado y enlazando
byte
a un cero literal en el segundo patrón, podemos realizar la misma acción para ambos estados sin duplicar el código.