Я добавил аргумент командной строки scalac -Ywarn-value-discard
в мою сборку, потому что это поймало бы тонкую ошибку, которую я только что нашел в своем коде. Тем не менее, теперь я получаю предупреждения о "отброшенном не-Unit value", которые касаются преднамеренных сбросов, а не ошибок. Как я могу подавить эти предупреждения?
Подавить "отброшенное не-значение единицы"
Ответ 1
Вы подавляете это предупреждение, явно возвращая единицу (то есть ()
).
Пример:
def method1() = {
println("Hello")
"Bye"
}
def method2() {
method1() // Returns "Bye", whihc is implicitly discarded
}
в
def method1() = {
println("Hello")
"Bye"
}
def method2() {
method1()
() // Explicitly return unit
}
Ответ 2
В соответствии с этим ответом вы также можете использовать синтаксис val _
, i.e.
def method2(): Unit = {
val _ = method1()
}
Но есть некоторые споры о том, является ли этот или ответ by @Régis предпочтительным стилем.