Question
Je veux faire quelque chose comme ça (syntaxe Nemerle)
def something =
match(STT)
| 1 with st= "Summ"
| 2 with st= "AVG" =>
$"$st : $(summbycol(counter,STT))"
sur F # donc est-il réel avec F #?
La solution
Si je vous comprends bien, vous souhaitez attribuer une valeur à une variable dans le cadre du modèle. Il n'y a pas un soutien direct à cet effet dans F #, mais vous pouvez définir un motif actif paramétrés qui fait que:
let (|Let|) v e = (v, e)
match stt with
| Let "Summ" (st, 1)
| Let "AVG" (st, 2) -> srintf "%s ..." st
La chaîne après Let
est un paramètre du modèle (et est transmise comme valeur de v
). Le motif renvoie alors un tuple contenant la valeur limite et la valeur d'origine (afin de pouvoir correspondre à la valeur d'origine dans le deuxième paramètre du tuple.
Autres conseils
Il n'y a pas un soutien direct pour cela, mais vous pouvez imiter l'effet comme celui-ci ainsi:
let 1, st, _ | 2, _, st = stt, "Summ", "AVG"
sprintf "%s %a" st summbycol (counter, stt)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow