我是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]的参数吗?
答案 0 :(得分:3)
当然,对于Option[Double]
类型的参数,您无法发送Double
类型。它们是不同的类型。
您可以发送Some(20.5)
Option[Double]