我已将 scalac 命令行参数
-Ywarn-value-discard
添加到我的构建中,因为这会捕获我刚刚在代码中发现的一个微妙错误。但是,我现在收到一些关于“丢弃的非单位值”的警告,这些警告是关于故意丢弃的,而不是错误。如何抑制这些警告?
您可以通过显式返回单位(即
()
)来抑制这些警告。
例如转动这个:
def method1() = {
println("Hello")
"Bye"
}
def method2(): Unit = {
method1() // Returns "Bye", which is implicitly discarded
}
进入:
def method1() = {
println("Hello")
"Bye"
}
def method2(): Unit = {
method1()
() // Explicitly return unit
}
根据这个答案,您还可以使用语法
val _
,即
def method2(): Unit = {
val _ = method1()
}
但是对于这个还是 @Régis 的答案是否是首选风格存在一些争议。