Scala分区一套

时间:2016-03-29 11:59:35

标签: scala set partition

我正在研究如何根据第三组的内容将一组分成两组。我无意中偶然发现了这个解决方案:

val s = Set(1,2,3)
val s2 = Set(4,5,6)
val s3 = s ++ s2

s3.partition(s)
res0: (scala.collection.immutable.Set[Int],scala.collection.immutable.Set[Int]) = (Set(1, 2, 3),Set(5, 6, 4))

partition的签名如下:

def partition(p: A => Boolean): (Repr, Repr)

有人可以向我解释一下如何提供一套而不是一个功能吗?

提前致谢

1 个答案:

答案 0 :(得分:6)

一组s: Set[A] 一个函数A => Boolean:对于a的任何值A,您都会返回s是否包含{ {1}}或不。{/ p>

a

如果你看documentation for .apply,你会看到

  

def apply (elem:A):Boolean
  测试此集合中是否包含某个元素。

     

此方法相当于包含。它允许集合   解释为谓词。