12

我需要根据条件设置一个变量。但由于变量是不可变的,我发现自己陷入了不得不重复代码的棘手境地。我想做的是:

def doSomething(x:Int):Int = {
  if(x==1){
    val player="Andy"
  } else {
    val player="Rob"
  }
  getSomeValue(player) // Another function
}

但是变量“玩家”不再在范围内。我看到的唯一方法是在两个条件块中调用函数“getSomeValue”,但这不是我想做的事情。如何使用不可变变量解决这个问题?

4

1 回答 1

31
def doSomething(x:Int):Int = {
  val player = if(x==1){
    "Andy"
  } else {
    "Rob"
  }
  getSomeValue(player)
}
于 2012-11-19T14:06:01.050 回答