Невозможно использовать для понимания, чтобы отобразить список в будущем

У меня есть проблема, с которой мне приходится обходиться каждый раз. Я не могу нанести на карту то, что содержится в Будущем, используя для понимания.

Пример:

import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.Future

val f = Future( List("A", "B", "C") )
for {
  list <- f
  e <- list
} yield (e -> 1)

Это дает мне ошибку:

 error: type mismatch;
 found   : List[(String, Int)]
 required: scala.concurrent.Future[?]
              e <- list
                ^

Но если я делаю это, он работает нормально:

f.map( _.map( (_ -> 1) ) )

Если я не смогу сделать это, используя для понимания, причина ли это работает в моем другом примере, что я не отображаю? Я использую Scala 2.10.0.

Ответы на вопрос(4)

Ваш ответ на вопрос