首页 > 解决方案 > 如果至少存在一个,Scala 不会这样做

问题描述

如果至少存在一个算法,那么对于算法不做的最 Scala 方式解决方案是什么?

例如,在 Java 中,我会这样做:

private void handle(Event event, AnotherEvent anotherEvent) {

    boolean alreadyExists = false;

    for (AnotherEvent existingEvent: anotherEvent.events()) {
        if (existingEvent.isSame(event)) {
            alreadyExists = true;
            break;
        }
    }
    if (!alreadyExists) {
        //do
    }
}

标签: scala

解决方案


您可以使用exists(predicate: A => Boolean)在每个上定义的Iterable

if (!anotherEvent.events().exists(_.isSame(event))) {
  //do
}

推荐阅读