我有4个谓词
private def pred1(ep:MyClass):Boolean = ep.attr1.contains(true) && func1(ep)
private def pred2(ep:MyClass):Boolean = ep.attr1.contains(true) && !func1(ep)
private def pred3(ep:MyClass):Boolean = ep.attr1.contains(false) && func2(ep)
private def pred4(ep:MyClass):Boolean = ep.attr1.contains(false) && !func2(ep)然后我有一个列表,我想要按每个谓词进行过滤,如下所示。
val ep: Seq[MyClass] = ???
val v1 = es.filter(pred1)
val v2 = es.filter(pred2)
val v3 = es.filter(pred3)
val v4 = es.filter(pred4)如何在单个筛选器中获得带有正确谓词的v1, v2, v3, v4值并将其报告为4 tuple (v1,v2,v3,v4)?或者类似的东西。我不想这样做4次。我有一个巨大的序列,这并不是最优化的
https://stackoverflow.com/questions/44480362
复制相似问题