[英]Understanding combinators
我有一個關於84本書FPiS上的組合器的問題。
object RNG {
type Rand[+A] = RNG => (A, RNG)
}
val int: Rand[Int] = _.nextInt
如何解釋type Rand[+A] = RNG => (A, RNG)
,_。 _.nextInt
的下划線是_.nextInt
意思?
type
定義是類型別名。 這意味着您可以將Rand[A]
替換為RNG => (A, RNG)
。 因此,例如, Rand[Int] = RNG => (Int, RNG)
。
現在,由於我們知道int
是采用RNG
的函數,因此我們可以將其定義為匿名函數,例如(r: RNG) => r.nextInt
(您可能會在RNG
特征中看到nextInt
的定義) 。 _
是一個占位符,可以執行完全相同的操作,而不必命名參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.