J'essaie d'écrire un motif qui compose deux autres motifs, mais je ne suis pas sûr de la façon de procéder. Mon entrée est une liste de chaînes (un document); J'ai un motif qui correspond à l'en-tête du document et un motif qui correspond au corps du document. Ce modèle doit correspondre au document entier et renvoyer les résultats des modèles d'en-tête et de corps.F #: Composition de motifs?
10
A
Répondre
23
Vous pouvez exécuter deux modèles ensemble en utilisant &
. Vous avez omis certains détails dans votre question, alors voici un code que je suppose être assez semblable à ce que vous faites.
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
Le premier motif va saisir le premier caractère d'une chaîne, et le second retournera tout sauf le premier caractère. Le code suivant montre comment les utiliser ensemble.
match "Hello!" with
| Header h & Body b -> printfn "FOUND: %A and %A" h b
| _ ->()
Ceci affiche: FOUND: 'H' and "ello!"
Questions connexes
- 1. F # Composition des fonctions avec entrées multiples paramètres
- 2. composition de la fonction Python
- 3. Composition de la composition ne fonctionne pas
- 4. Haskell fonction composition
- 5. F # multiple lorsque les gardes utilisent des motifs de regroupement dans la correspondance de formes
- 6. composition de classe au lieu de la composition de l'objet?
- 7. Catégories de motifs de conception
- 8. Composition d'actions monad avec des plis
- 9. Erreur de composition de classe?
- 10. Motifs de type dans Haskell
- 11. Exemples de motifs C# GOF
- 12. Motifs: Motif de cohésion élevé
- 13. deux méthodes de composition de fonctions, quelle différence d'efficacité?
- 14. Entité Diagramme de relation - Composition
- 15. Composition de musique en LaTeX
- 16. Problèmes de composition d'importation MEF
- 17. Comment écrire ces motifs?
- 18. Nettoyer les motifs Invoke?
- 19. Motifs multilignes correspondants
- 20. expressions régulières multiples motifs
- 21. WPF Composition/Agrégation
- 22. Composition C++ avec itérateur
- 23. WPF: UI Composition
- 24. Composition avec StructureMap
- 25. java boxlayout composition
- 26. composition fonction Haskell question
- 27. Mappage vs composition
- 28. Numéros de correspondance de motifs/opérateurs
- 29. Problème de correspondance de motifs en C#
- 30. Séquences de correspondance de motifs dans Haskell
Je ne sais pas ce que vous essayez de faire ici, vous pouvez poster votre entrée et la sortie désirée et tout code que vous avez écrit jusqu'à présent? – Juliet