簡體   English   中英

了解組合器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM