2013-07-17 1 views
5

대해 경고하지 않습니다 스칼라 I이 작은 스칼라 예가 미사용 계산 또는 값

object Test { 
    def add(x: Int, y: Int) = { 
    val z = x - y 
    x match { 
     case 0 => 0 - y 
     case 1 => 1 - y 
     case _ => x - y 
    } 
    x + y 
    } 

    def main(args: Array[String]) { 
    println(add(5, 6)) 
    } 
} 

제가 그 스칼라 'Z'와 대해 경고한다 느낌 'X 일치 ...'미사용 인. 나는 더 많은 경고를 켜기 위해 컴파일러 옵션을 알아 채지 못했습니다. 나는 scala 2.10.1을 사용하고있다.

생각하십니까? 감사!

+3

이것은 컴파일러에서 지시 한대로 완전히 유효한 스칼라 코드입니다. 사용되지 않는 변수 경고는 일반적으로 소스 코드 분석기가 찾고 경고 할 수있는 것입니다. 비슷한 코드에 대해서'java' 컴파일러는 경고를 표시하지 않습니다. – Brian

+0

@Brian javac이 벤치 마크인지 확실하지 않습니다. 3 명의 upvoters는 말합니다, 나는 더러운 타입의 안전을 필요로하지 않습니다! 나는 스쿼시를 경기에서 약간의 여유를 줄이며, 여전히 철저하게 철저히 노력하고있다. Unit의 값을 버리는 것에 대해 경고 할 수 있습니다.이 경고는 경고 할 수 있는지 경고합니다. –

+0

-Ywarn-value-discard "컴파일러 옵션을 추가하십시오. –

답변

8

here에서 알 수 있듯이 다음 버전의 스칼라 2.11에는 "사용되지 않은"경고가 도입 될 예정입니다.

당신은 마지막 이정표를 사용하여 시도 할 수 있습니다

-Xlint

에서 사용하지 않는 개인/현지 규정 및 유형, 사용되지 않는 수입에 대한 경고.

+0

2.11 :'-Ywarn-unused 로컬 및 개인용 변수, 변수, 정의 및 유형이 사용되지 않을 때 경고합니다 .' – nedim