我正在尝试将初始化为 var foo = Some(0.0)
的变量 foo 设置为 None
但我得到的是 None.type doesn't conform预期类型 Some[Double]
。指定变量没有值的正确方法是什么?
最佳答案
因为 foo
是 Some[Double]
,你不能给它分配一个 None.type
因为它们是不同的类型(它他们有共同的基础并不重要)。为了能够做到这一点,您需要将 foo
的类型显式声明为 Option[Double]
:
scala> var foo: Option[Double] = Some(0.0)
foo: Option[Double] = Some(0.0)
scala> foo = None
foo: Option[Double] = None
或者使用Option.apply
:
scala> var foo = Option(0.0)
foo: Option[Double] = Some(0.0)
scala> foo = None
foo: Option[Double] = None
关于scala:将 None 设置为 Option,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43169456/