pattern - Scala-coincidencia de patrones condicionales complejos
scala regex (1)
Tengo una declaración que quiero expresar, que en C seudo-código se vería así:
switch(foo):
case(1)
if(x > y) {
if (z == true)
doSomething()
}
else {
doSomethingElse()
}
return doSomethingElseEntirely()
case(2)
essentially more of the same
¿Es posible una buena forma con la sintaxis de coincidencia de patrones de Scala?
Si desea manejar múltiples condiciones en una sola declaración de match
, también puede usar guardias que le permiten especificar condiciones adicionales para un caso:
foo match {
case 1 if x > y && z => doSomething()
case 1 if x > y => doSomethingElse()
case 1 => doSomethingElseEntirely()
case 2 => ...
}