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

Roo*_*han 1 types scala

我是 Scala 的新手。我有一个 Scala 函数,它的参数之一使用“选项”:

def generateTimeSnippet(startOfSentence: Double, endOfSentence: Option[Double]): (Double, Option[Double]) = {
   ...
}
Run Code Online (Sandbox Code Playgroud)

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

val snippets = generateTimeSnippet(startOfSentence = 10d, endOfSentence = 20.5)
Run Code Online (Sandbox Code Playgroud)

但这会导致类型不匹配错误:“类型不匹配;找到:Double(10.0) required: Option[Double]”

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

Sam*_*mar 5

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

您可以发送Some(20.5)哪种类型Option[Double]