Scala:当我使用“Option”时,为什么会出现类型不匹配错误?

时间:2016-10-01 03:54:35

标签: scala types

我是Scala的新手。我有一个Scala函数,其中一个参数使用“Option”:

def generateTimeSnippet(startOfSentence: Double, endOfSentence: Option[Double]): (Double, Option[Double]) = {
   ...
}

当我调用这个函数时,我给参数提供了文字值:

val snippets = generateTimeSnippet(startOfSentence = 10d, endOfSentence = 20.5)

但是这会导致类型不匹配错误: “类型不匹配;找到:需要Double(10.0):选项[Double]”

我觉得这很奇怪。为什么会这样?我不应该被允许使用Doubles作为定义为Option [Double]的参数吗?

1 个答案:

答案 0 :(得分:3)

当然,对于Option[Double]类型的参数,您无法发送Double类型。它们是不同的类型。

您可以发送Some(20.5)

类型的Option[Double]