Michael (mikkim08) wrote in ru_scala,
Michael
mikkim08
ru_scala

Как реализовать fallback ?

Возвращаясь к ранее приведённому примеру: Допустим у нас есть функция для чтения файла
type Content = String
def readFile(fileName: String): Try[Content] = ???
Нам нужно написать функцию readFile(fileNames: List[String]), которая бы читала все файлы по очереди и возвращала содержимое первого успешно считанного файла. Тогда эта функция будет выглядеть так:
def readFile(fileNames: List[String]): Either[Content, List[Throwable]]
А что, если нам нужно вместе с содержимым получить список ошибок, которые случились до того ? Тогда функция будет:
def readFile(fileNames: List[String]): Either[(Content, List[Throwable]), List[Throwable]]
Как написать такую функцию ?
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 29 comments