我是 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 吗?
当然,对于 type 的参数Option[Double]
,您不能发送 type Double
。它们是不同的类型。
您可以发送Some(20.5)
哪种类型Option[Double]