2012-11-19 2 views
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 
    //... 
} 

무엇을 사용하는 일반적인 규칙은 무엇입니까?

+3

자세한 내용은 http://stackoverflow.com/questions/8000903/what-are-all-the-uses-of-an-underscore-in-scala를 참조하십시오. –

답변

5

스칼라에서 일반적으로 밑줄은 와일드 카드 문자입니다. 여기서는 매개 변수 이름의 약자입니다. 따라서 람다 식 ap(_)(f)x => ap(x)(f)과 같습니다.

_은 각 매개 변수가 한 번만 사용되며 선언 순서대로 사용되는 경우 익명 함수의 매개 변수에 대한 속기로 사용할 수 있습니다.