Est-il possible de faire une comparaison avec le système de correspondance de modèles de Scala? Par exemple:Utilisation d'opérateurs de comparaison dans le système de correspondance de modèles de Scala
a match {
case 10 => println("ten")
case _ > 10 => println("greater than ten")
case _ => println("less than ten")
}
La deuxième déclaration de cas est illégale, mais je voudrais être en mesure de préciser « quand un est supérieur à ».
Ceci peut également être utilisé pour vérifier si une fonction est vraie, par ex. 'case x if x.size> 2 => ...' – tstenner
La chose importante à comprendre est que les "patterns" à gauche de => operator sont en effet des "patterns". Le 10 dans le premier cas d'expression que vous avez n'est pas le littéral entier. Donc, vous ne pouvez pas effectuer d'opérations (comme> vérifier ou dire que l'application de fonction isOdd (_)) est à gauche. –