0

以下の抜粋でアンダースコアはどういう意味ですか. これは scalaz7 ライブラリの一部です:

trait Apply[F[_]] extends Functor[F] { self =>
  //...
  def ap[A, B](fa: => F[A])(f: => F[A => B]): F[B]
  //...
  def apF[A, B](f: => F[A => B]): F[A] => F[B] = ap(_)(f)   // <----HERE
  //...
}

それを使用する一般的なルールは何ですか?

4

1 に答える 1

5

Scalaでは、一般的にアンダースコアはワイルドカード文字です。具体的には、パラメータ名の省略形です。したがって、ラムダ式ap(_)(f)は。と同等x => ap(x)(f)です。

_各パラメーターが1回だけ使用され、宣言順に使用される場合は、無名関数のパラメーターの省略形として使用できます。

于 2012-11-19T14:07:19.900 に答える