我有这个示例代码:
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
,我仍然不能。
答案 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")
}