2010-07-28 5 views

Répondre

8

Vous ne pouvez avoir qu'un seul lorsque la garde par flèche/résultat, donc quelque chose comme ça travailleraient:

let id1 = 0 

match p1, p2 with 
| Fluid, Particle id2 
| Interface _, Particle id2 when id1 = id2 -> doSomething() 
| _ -> doSomething() 

(note dans ce cas, les deux éléments de la ou doivent lier le même ensemble d'identifiants de sorte que dans les deux cas, pas identifer reste non initialisée)

ou encore ajouter une seconde action/résultat:

match p1, p2 with 
| Fluid, Particle id2 when id1 = id2 -> doSomething() 
| Interface _, Particle id2 when id1 = id2 -> doSomething() 
| _ -> doSomething() 
+0

Merci pour votre réponse. Il est bon de savoir que la garde est valide pour tous les cas dans le groupe de motifs. –

Questions connexes