2016-10-01 5 views
1

저는 스칼라를 처음 접했습니다. 나는 스칼라 기능을 가지고, 그 인수 중 하나는 "옵션"사용 :이 함수를 호출 할 때, 내가 인수에 리터럴 값을 제공스칼라 : "옵션"을 사용할 때 왜 형식 불일치 오류가 발생합니까?

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

:

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

을하지만이 유형의 결과 불일치 오류 : "유형 불일치; 찾음 : 두 번 (10.0) 필수 : ​​옵션 [Double]"

매우 이상합니다. 왜 이런 일이 일어나는 걸까요? Option [Double]으로 정의 된 인수에 Doubles를 사용하도록 허용되지 않아야합니까?

+0

유형의 인 Some(20.5)에 보낼 수 있습니다. 그것은 보통 유형입니다. –

답변

3

물론 Option[Double] 유형의 인수는 Double 유형으로 보낼 수 없습니다. 그들은 서로 다른 유형입니다.

당신은 명시 적으로 Option` 특별한 언어 기능이 아닙니다 '것을 여기에서 지적하는 것이 유용 할 수 있습니다 Option[Double]

관련 문제