【发布时间】:2018-07-04 15:38:59
【问题描述】:
调试时我必须检查 scala.collection.GenSetLike 文件。我在界面中遇到了这么一点点代码:
trait GenSetLike[A, +Repr]
extends GenIterableLike[A, Repr]
with (A => Boolean)
with Equals
with Parallelizable[A, parallel.ParSet[A]] {
...
}
(A => Boolean) mix 是什么意思?我尝试使用各种关键字进行搜索,但找不到令人满意的内容。
此语法表示一个接受 A 并返回布尔值的函数,但我在 trait mixin 上下文中看不到含义...
我的第一个猜测是这与 constructor 或 apply 之类的东西有关,但这只是一种直觉。
请教我!
【问题讨论】:
-
同
... with Function1[A, Boolean] ...。另请注意,用户定义的二进制类型构造函数也可用于中缀表示法,例如trait <=[A, B] { def invert(b: B): A }; trait Foo[X, Y] extends (X <= Y)。