Curso de Raku / Expresiones regulares y gramáticas / Gramáticas / El árbol de análisis, make y made / Exercises / Extraiga el número
Solución: Extraiga el número
Aquí tienes una posible solución para la tarea.
Código
grammar Weight {
token TOP { <number> 'kg' { make $<number>.Int } }
token number { \d+ }
}
say Weight.parse('5kg').made;🦋 Puedes encontrar el código fuente en el archivo extract-the-number.raku.
Salida
5Comentarios
El patrón empareja los dígitos y el literal
kg, pero el bloque en línea guarda solo$<number>.Int: el entero, sin la unidad.madelee de vuelta ese valor: un5de verdad, listo para calcular con él, en lugar del texto5kg. Ese es el trabajo típico demake: convertir una coincidencia en el valor limpio que realmente quieres.