我正在尝试将变量foo初始化为var foo = Some(0.0)
到None
,但我得到None.type doesn't conform to expected type Some[Double]
。指定变量没有值的正确方法是什么?
答案 0 :(得分:7)
由于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