繁体   English   中英

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

[英]Scala: Why do I get a type mismatch error when I use “Option”?

我是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]的参数吗?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM