我定义了一个案例类...
case class QueryRef[A](id: UUID, descriptor: (A) => Boolean, selector: immutable.Iterable[A] => A])
...这将作为 Akka Actor 之间的消息传递。接收器将过滤一些类型为 A
的集合使用descriptor
然后使用 selector
从结果过滤集合中选择单个元素.
正如所写,它仅在接收 Actor 的集合类型为 immutable.Seq[A]
时才有效。 。我想概括上述内容,以便它可以与 A
类型的元素的通用集合一起使用。 。这可能吗?
最佳答案
Scala 集合具有层次结构,如下所示。您只需选择适合您的用例的层次结构级别。如果您希望允许使用 Maps 和 Sets,那么 Iterable 可能是一个不错的选择。
当然,您只能使用该层次结构级别上可用的那些函数,您将无法使用任何 Seq 特定功能。
关于scala - 编写一些通用 scala 集合的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32119374/