Estoy tratando de escribir un patrón que componga otros dos patrones, pero no estoy seguro de cómo hacerlo. Mi entrada es una lista de cadenas (un documento); Tengo un patrón que coincide con el encabezado del documento y un patrón que coincide con el cuerpo del documento. Este patrón debe coincidir con el documento completo y devolver los resultados de los patrones de encabezado y cuerpo.F #: ¿Composición del patrón?
10
A
Respuesta
23
Puede ejecutar dos patrones juntos usando &
. Olvidó algunos detalles en su pregunta, así que aquí hay un código que asumo que es similar a lo que está haciendo.
let (|Header|_|) (input:string) =
if input.Length > 0 then
Some <| Header (input.[0])
else
None
let (|Body|_|) (input:string) =
if input.Length > 0 then
Some <| Body (input.[1..])
else
None
El primer patrón captará el primer carácter de una cadena, y el segundo devolverá todo menos el primer carácter. El siguiente código demuestra cómo usarlos juntos.
match "Hello!" with
| Header h & Body b -> printfn "FOUND: %A and %A" h b
| _ ->()
Esto muestra: FOUND: 'H' and "ello!"
Cuestiones relacionadas
- 1. F # patrón de diseño
- 2. Patrón de repositorio en F #
- 3. Versión F # de la coincidencia del patrón de haskell
- 4. F # Función Composición con entrada de múltiples parámetros
- 5. composición del proceso y excepciones
- 6. Coincidencia de patrón F # con DataGridColumn.Visibility
- 7. patrón activa roto en F # 3.0
- 8. Función de composición variable
- 9. Haskell función composición
- 10. Composición de la función
- 11. Scala composición del tipo de tupla
- 12. Python composición de la función
- 13. Composición de funciones en Clojure?
- 14. F #: ¿Cómo coincido un patrón con un valor de tipo?
- 15. Restricción del valor F #
- 16. Composición de funciones en C++
- 17. Acerca de 'grep -f': patrón de coincidencia con el archivo
- 18. Implementación del patrón de adaptador
- 19. Explicación del "Patrón del reactor"
- 20. Composición de imágenes
- 21. F # biblioteca del servidor web
- 22. Composición rasgos independientes
- 23. función Haskell composición pregunta
- 24. Scalaz Lens Composición
- 25. Composición frente a Delegación
- 26. ¿Composición de expresiones regulares?
- 27. python: heredando o composición
- 28. Tubería, Composición y Currying
- 29. Liskov SUSTITUCIÓN y Composición
- 30. composición con operador diádica?
No está seguro de lo que su tratando de hacer aquí, puede publicar su entrada y la salida deseada, y cualquier código que has escrito hasta ahora? – Juliet