Предположим, у вас есть значение val list: List[Date]
.Вы хотели бы знать, встречается ли какая-либо из дат в этом списке после некоторого startDate
.Вы могли бы сделать это
list.fold(false)((a, b) => startDate.compareTo(b) < 0 || a)
, которое вернуло бы true
, если бы какая-либо дата произошла в или после startDate
, таким образом, достигая нашей цели.
Однако, поскольку используется оператор OR, если хотя бы одна дата удовлетворяет условию startDate.compareTo(b) < 0
, тогда вся операция сгиба вернет true
.Есть ли у Scala способ прекратить выполнение сгиба и просто вернуть true
, когда он сработает?