2
私はスカラチュートリアルに従っています。機能において_:typeと書かれたスカラ表記は何ですか?
リテラル、それは以下の表記があります。例えば
(_ : *type*) => println("pressed")
、
(_ : Int) => println("pressed")
この表記では、私は理解できなかったもの(_:タイプ)手段。
私はスカラチュートリアルに従っています。機能において_:typeと書かれたスカラ表記は何ですか?
リテラル、それは以下の表記があります。例えば
(_ : *type*) => println("pressed")
、
(_ : Int) => println("pressed")
この表記では、私は理解できなかったもの(_:タイプ)手段。
これは無視されたパラメータを持つ無名関数です。 Scalaでは、パラメータを使用していないときは、アンダースコアを使用するのがコンベンションです。
次のようなまったく同じ書き換えることができます:誰かがこれをしたいと思う理由として
(unused: Int) => println("pressed")
を。 Scalaの型推論を緩和する必要があることがよくあります。あなただけ
_ => println("pressed")
を書いたのであれば、その後Scalaは入力パラメータの種類を推測することはできません。
(_: Int) => println("pressed")
と入力すると、コンパイラによって推論された型がInt => Unit
であることが保証されます。