Je suis occupé passer par le très anémique projet de plain-pied à F # fournies par MS dans VS 2010 Beta 2, et suis tombé sur quelque chose qui a besoin d'une explication:Comment fonctionne l'instruction de correspondance dans F #?
let rec SumList xs =
match xs with
| [] -> 0
| y::ys -> y + SumList ys
Je suppose match quelque chose comme un interrupteur d'autres langues, où une liste vide donne une valeur de retour de 0, mais le second cas me fascine. Cela indique-t-il à 'runtime | interpretor' d'évaluer l'argument match comme y cons 0s, ou plutôt comme 'si l'argument est de la forme y cons ys', se répète avec y et ys?
Je dirais que cela ressemble à une instruction switch qui peut également fonctionner sur la structure de l'expression ... – phoebus
Laisser la valeur de l'expression 'switch' être alors l'expression booléenne 'x est de structure y'. – ProfK