Future [Option [Boolean]] для понимания ... Простое право?

Предположим, у меня есть:

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]], которые я хотел бы хотел бы использовать вместе для понимания.

8
задан Simon C 2 January 2014 в 14:32
поделиться