2013-07-17 5 views
5

У меня есть этот маленький пример SCALA:не Scala предупреждает о неиспользованном вычислении или значениях

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)) 
    } 
} 

Я чувствую, что должно предупредить Scala о «г» и «х матча ...» быть неиспользованным. Я не заметил никаких параметров компилятора, чтобы включить дополнительные предупреждения. Я использую scala 2.10.1.

Мысли? Благодаря!

+3

Это совершенно правильный scala-код, как указано компилятором. Предупреждения о неиспользуемых переменных обычно являются тем, что анализатор исходного кода найдет и предупредит. Для подобной части кода компилятор 'java' также не отображает предупреждение. – Brian

+0

@Brian Я не уверен, что javac является эталоном. 3 активиста говорят, что мне не нужна безопасность типа stinkin '! Я сократил скалак на слабине в матче, он все еще пытается прикрыть исчерпывающий характер. Он может предупреждать об отбрасывании значений для Unit, что предполагает, что он предупредит, может ли он предупредить. –

+0

Попробуйте добавить параметр компилятора '' -Ywarn-value-discard ''. –

ответ

8

Как вы можете видеть here, предупреждения «не используются» будут введены в следующей версии scala, 2.11.

Предупреждать о неиспользованных частных/местных условиях и типах, а также неиспользованном импорте, под -Xlint

Вы можете попробовать использовать их последнюю веху.

+0

В 2.11: '-Ywarn-unused Предупреждать, когда локальные и частные vals, vars, defs и типы не используются.' – nedim

 Смежные вопросы

  • Нет связанных вопросов^_^