Je veux affiner le texte brut en utilisant l'expression régulière, en donnant une liste de tuple (patten, replacement).Pourquoi le type de ligne ne peut-il pas être déduit dans la liste de récursion?
J'ai essayé d'utiliser la mise en correspondance patten sur l'élément de la liste, mais a échoué, l'erreur a montré que "Cette expression devait contenir une liste de chaînes de type chaîne * mais a ici un type" liste ".
Comment puis-je résoudre ce problème? Merci beaucoup.
codes sont les suivants:
let rec refine (raw:string) (rules:string*string list) =
match rules with
| (pattern,replacement) :: rest ->
refine <| Regex.Replace(raw,pattern,replacement) rest
| [] -> raw
Cool, je préfère votre deuxième solution et le F # peut accomplir type inférence à partir Regex. Remplacer la liste de paramètres. Merci beaucoup. –