如何在Scala中初始化变量?

时间:2015-12-30 12:55:23

标签: scala functional-programming

我有这个示例代码:

val someCondition = true
case class SampleClass (source: String)

val sample: SampleClass

if (someCondition)
  sample = new SampleClass("Some String")
else
  sample = new SampleClass("Other String")

我想定义一个val参数并根据某些条件对其进行初始化。但我无法弄清楚如何做到这一点。 另外,如果我将其更改为var,我仍然不能。

2 个答案:

答案 0 :(得分:6)

在Scala中if是一个表达式,这意味着它计算为某个值,因此您可以执行以下操作:

val sample = if (someCondition) new SampleClass("Some String")
             else new SampleClass("Other String")

答案 1 :(得分:3)

您可以执行以下操作。

val sample: SampleClass = {
  if (someCondition) new SampleClass("Some String")
  else new SampleClass("Other String")
}