est-il un moyen de correspondance de motif sur les fonctions syndicales discriminés, par exemple: -modèle correspondant à une union discriminée
type Test =
| A of string
| B of int
| C of char
let DefaultTest t =
match t with
| A(_) -> A(null)
| B(_) -> B(0)
| C(_) -> C('\u0000')
let a = A |> DefaultTest
Il est évident que ce code n'est pas valide F # comme DefaultTest accepte un paramètre de test de type plutôt que ' a -> Test. Y a-t-il un moyen d'atteindre ce sans en spécifiant une valeur pour l'union discriminée? En fin de compte, ce qui m'intéresse, c'est une fonction qui entre une fonction de type 'a -> Test et sorties Test (valeur par défaut' a).
Brillant. C'est exactement ce dont j'ai besoin! Je me sens très stupide maintenant ...! – ljs
J'ai aussi trouvé A |> fun f -> Unchecked.defaultof <_> |> f être plutôt délicieux !!! – ljs
Souhaitez-vous "A Unchecked.defaultof <_>" plus? – Brian