在scala中有没有更简洁的方法来表达这个if表达式

在scala中有没有更简洁的方法来表达这个if表达式,scala,Scala,我只是在探索scala。 有没有更简洁和/或更惯用的方法来编写以下代码 def getValToAdd(c: Char): Int = { if ('(' == c) { 1 } else if (')' == c) { -1 } else { 0 } } 您可以删除所有的花括号,它们是多余的: def getValToAdd(c: Char): Int = if ('(' == c) 1 else if (')' == c) -1 else

我只是在探索scala。 有没有更简洁和/或更惯用的方法来编写以下代码

def getValToAdd(c: Char): Int = {
  if ('(' == c) {
    1
  } else if (')' == c) {
    -1
  } else {
    0
  }
}

您可以删除所有的花括号,它们是多余的:

def getValToAdd(c: Char): Int =
  if ('(' == c) 1
  else if (')' == c) -1
  else 0
但更惯用的方法是使用

您还可以删除返回类型,编译器可以计算出:

def getValToAdd(c: Char) = c match {
  case '(' => 1
  case ')' => -1
  case _ => 0  
}

但我不建议这样做,除非这是一种私人实用方法。

您可以删除所有的花括号,它们是多余的:

def getValToAdd(c: Char): Int =
  if ('(' == c) 1
  else if (')' == c) -1
  else 0
但更惯用的方法是使用

您还可以删除返回类型,编译器可以计算出:

def getValToAdd(c: Char) = c match {
  case '(' => 1
  case ')' => -1
  case _ => 0  
}

但我不建议这样做,除非这是一种私人实用方法。

谢谢大家的帮助谢谢大家的帮助