Предположим, у меня есть:
val res:Future[Option[Boolean]] = Future(Some(true))
, и я могу сделать:
res.map(opt => opt.map(r => print(!r)))
Я предполагаю, что для понимания этого будет:
for {
opt <- res
r <- opt
} yield (print(!r))
, но это не работает! Я получаю сообщение об ошибке:
error: type mismatch;
found : Option[Unit]
required: scala.concurrent.Future[?]
r <- opt
Как использовать Future [Option [Boolean]] в для понимание, чтобы извлечь или преобразовать логическое значение?
Примечание: это упрощение проблемы, с которой я столкнулся на данный момент, со многими переменными Future [Option [Boolean]], которые я хотел бы хотел бы использовать вместе для понимания.