switch pattern online scala pattern-matching

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 => ... }