我有一个要表达的声明,即在C伪代码中如下所示:

switch(foo):
    case(1)
        if(x > y) {
            if (z == true)
                doSomething()
            }
            else {
                doSomethingElse()
            }
        return doSomethingElseEntirely()

    case(2)
        essentially more of the same


scala模式匹配语法是否可能是一种不错的方法?

最佳答案

如果要在单个match语句中处理多个条件,则还可以使用允许您为案例指定其他条件的防护:

foo match {
  case 1 if x > y && z => doSomething()
  case 1 if x > y => doSomethingElse()
  case 1 => doSomethingElseEntirely()
  case 2 => ...
}

关于scala - Scala-复杂的条件模式匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6804225/

10-15 14:02