4 Réponses :
Je suppose que vous recherchez correspondez code> (ou simplement si / else si / else code>). p>
case _ => println("what")
Bien sûr, ni correspondent code> ni si code> fait exactement la même chose que ond code>. Une possibilité est de faire comme ceci: val clauses = Seq(
({()=>false}, {()=>println("foo")}),
({()=>true}, {()=>println("bar")})
)
Cond(clauses)
def checkYear(year: Int) = {
Cond(Seq(
({()=>year % 400 == 0}, {()=>42}),
({()=>true}, {()=>{c:Char => (c.toString * 3)}})
))
}
La traduction la plus simple consiste à utiliser des gardes de modèle, bien qu'elle nécessite un peu de chaudron. Les gardes de modèle ne fonctionnent que dans un cas code> modèle code> motif et Nous pouvons satisfaire ces conditions par Case code> ne fonctionne que dans un code> (code> (code> (sauf si nous écrivons un partialfunction Code>). Match code> une valeur d'unité contre un cas code> S: p>