невозможно использовать множественное будущее типа Boolean в Scala - PullRequest
0 голосов
/ 16 февраля 2019

У меня есть три Futures, тип возвращаемых значений которых является логическим, но я получаю сообщение об ошибке компиляции, говорящее:

несоответствие типов;найдено: логическое значение обязательно: строка

Вот мой код:

val f1 = Future {  false }
val f2 = Future {  true }
val f3 = Future {  false }
val result = for {
  r1 <- f1
  r2 <- f2
  r3 <- f3
} yield (r1 + r2 + r3)

Получение ошибки в этой строке

yield (r1 + r2 + r3)

Чего мне не хватает?

1 Ответ

0 голосов
/ 16 февраля 2019

r1, r2, r3 - Boolean с.Вы пытаетесь добавить их.

Как вы собираетесь добавить Boolean s?

Вы имеете в виду

val result: Future[Boolean] = for {
  r1 <- f1
  r2 <- f2
  r3 <- f3
} yield r1 && r2 && r3

или

val result: Future[Boolean] = for {
  r1 <- f1
  r2 <- f2
  r3 <- f3
} yield r1 || r2 || r3

или

val result: Future[(Boolean, Boolean, Boolean)] = for {
  r1 <- f1
  r2 <- f2
  r3 <- f3
} yield (r1, r2, r3)

?

...