Une autre fonctionnalité sympa de la 2.10 c'est l'ajout de "require" pour mettre des conditions sur des valeurs, exemple :
class Age private (val v: Short) {
def isInfant = v < 2
def isToddler = v >= 2 && v <= 4
def isSenior = v >= 50
}
object Age {
def apply(v: Short): Age = {
require(v >= 0 && v < 200, "Must be between 0 and 200")
new Age(v)
}
}
object Require extends App {
try {
val ageObject = Age(230)
} catch {
case e: Exception => println(e.getMessage())
}
}