条件变量设置

Pla*_*ove 10 conditional scala immutability

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

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

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

Rob*_*een 25

def doSomething(x:Int):Int = {
  val player = if(x==1){
    "Andy"
  } else {
    "Rob"
  }
  getSomeValue(player)
}
Run Code Online (Sandbox Code Playgroud)

  • 或简而言之:`def doSomething(x:Int)= getSomeValue(if(x == 1)"Andy"else"Rob")` (4认同)