禁止“丢弃非单位值”警告

时间:2012-11-16 11:04:22

标签: scala compiler-warnings

我已将scalac命令行参数-Ywarn-value-discard添加到我的构建中,因为这会捕获我在代码中发现的一个微妙的错误。但是,我现在得到一些关于“废弃的非单位价值”的警告,这些警告是关于故意丢弃,而不是错误。如何抑制这些警告?

3 个答案:

答案 0 :(得分:48)

您通过明确返回单位(即())来取消这些警告。 举例来说:

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
}

答案 1 :(得分:10)

根据this answer,您还可以使用语法mongo driver,即

val _

但对于@Régis的这个或答案是否是首选款式存在争议。

答案 2 :(得分:2)

现在,您可以通过在Scala 2.13中为user输入类型来抑制价值丢弃警告。

这是一个示例:

Unit