编写一些通用 Scala 集合的函数

Writing a function of some generic scala collection

我定义了一个案例class...

case class QueryRef[A](id: UUID, descriptor: (A) => Boolean, selector: immutable.Iterable[A] => A])

...这将作为消息在 Akka Actor 之间传递。接收方将使用 descriptor 过滤某些类型 A 的集合,然后使用 selector.

从结果过滤集合中 select 单个元素

如所写,它仅在接收演员的集合具有类型 immutable.Seq[A] 时才有效。我想概括以上内容,以便它可以与 A 类型的元素的通用集合一起使用。这可能吗?

Scala 集合具有层次结构,如下图所示。您只需要选择适合您的用例的层次结构级别。如果您希望允许映射和集合,那么 Iterable 可能是您的理想选择。

当然,您随后只能使用在该层次结构级别可用的那些函数,您将无法使用任何 Seq 特定功能。