Puis-je supposer un ordre sur l'évaluation des cas d'une fonction partielle dans Scala?Ordre d'évaluation des cas dans la fonction partielle Scala
Ainsi, par exemple, étant donné
protected val eval: PartialFunction[(TestPrimitive, Seq[Literal]), Boolean] = {
case (L3IntLt, Seq(IntLit(x), IntLit(y))) => x < y
case (L3IntLe, Seq(IntLit(x), IntLit(y))) => x <= y
case (L3IntGe, Seq(IntLit(x), IntLit(y))) => x >= y
case (L3IntGt, Seq(IntLit(x), IntLit(y))) => x > y
case (L3Eq, Seq(x, y)) => x == y
case (L3Ne, Seq(x, y)) => x != y
}
Si je pouvais supposer que les cas sont évalués afin que je peux le facteur le code comme:
protected val eval: PartialFunction[(TestPrimitive, Seq[Literal]), Boolean] = {
case (L3Eq, Seq(x, y)) => x == y
case (L3Ne, Seq(x, y)) => x != y
case (arithp, Seq(IntLit(x), IntLit(y))) => arithp match{
case L3IntLt => x < y
case L3IntLe => x <= y
case L3IntGe => x >= y
case L3IntGt => x > y
}
}
Est-ce une bonne pratique de programmation de supposer qu'il ya un ordre dans l'évaluation des cas?