12

条件に応じて変数を設定する必要があります。しかし、変数は不変であるため、コードを繰り返さなければならないという厄介な状況に陥っています。私がしたいのは:

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

しかし、変数「player」はスコープ内にありません。私が見る唯一の方法は、両方の条件ブロックで関数 "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 に答える