Привет, у меня есть вопрос относительно проверки списка в Scala. У меня есть метод, который выглядит примерно так:
def validate(item: Item): Try[Unit] = {
if (item.isValid) Success(())
else Failure(new isNotValidException("not valid"))
}
Теперь я использую этот метод для проверки itemList: List[Item]
следующим образом:
def listIsValid(list: List[Item]): Try[Unit] = {
list
.map(validate(_))
.collectFirst{ case f @ Failure(_: Exception) => f }
.getOrElse(Success(()))
}
Который я в конечном итоге хочу разрешить в один Try[Unit]
(либо Успех, если все элементы действительны, либо Отказ, если хотя бы один элемент недействителен.
Это хороший способ проверить все элементы в списке? Или есть лучший способ проверки элементов в списках? Он должен быстро выйти из строя, и если один элемент выходит из строя, мне не нужно знать, являются ли другие элементы недействительными в то время. Проверка списка используется для понимания и в конечном итоге должна быть преобразована в один Try[Unit]
снова