scalacコマンドライン引数-Ywarn-value-discard
をビルドに追加しました。これは、コードで見つけた微妙なバグをキャッチするためです。ただし、バグではなく意図的な破棄に関する「破棄された非ユニット値」に関する警告が表示されるようになりました。これらの警告を抑制するにはどうすればよいですか?
質問する
19100 次
3 に答える
67
ユニット(つまり()
)を明示的に返すことにより、これらの警告を抑制します。例としてこれを回します:
def method1() = {
println("Hello")
"Bye"
}
def method2() {
method1() // Returns "Bye", which is implicitly discarded
}
の中へ:
def method1() = {
println("Hello")
"Bye"
}
def method2() {
method1()
() // Explicitly return unit
}
于 2012-11-16T11:09:05.803 に答える
21
この回答によると、構文を使用することもできますval _
。
def method2(): Unit = {
val _ = method1()
}
しかし、これまたは@Régisによる回答が好ましいスタイルであるかどうかについては、いくつかの論争があります。
于 2015-06-10T06:01:55.733 に答える
5
Unit
これで、Scala2.13でタイプascriptiontoを介して値破棄警告を抑制できます。
これは例です:
def suppressValueDiscard(): Unit =
"": Unit
于 2019-08-09T14:56:54.360 に答える