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