scala lift - filterNot有多个参数

时间:2012-02-20 11:44:01

标签: scala lift

我在List上有以下过滤器:

 messages = messages.filterNot(m => m.room == room)

我想要做的是有多个参数,所以我可以匹配所有具有相同房间ID和相同数据值的项目,如下所示:

 messages = messages.filterNot(m => m.room == room, m.data == data)

这当然没有用,有没有办法可以做到这一点?

在此先感谢,任何帮助非常感谢:)

1 个答案:

答案 0 :(得分:11)

你可以处理它

  1. 直接的

    messages.filterNot(m => m.room == room && m.data == data)
  2. 链接过滤器

    messages.filterNot(_.room == room).filterNot(_.data == data)
  3. 使用WithFilter对原始集合应用限制而不是创建中间集合

    messages.withFilter(_.room != room).withFilter(_.data != data) map identity