Как я могу получить это для понимания, чтобы вернуться?

Вам нужно получить доступ к второму подсписку списка, а затем к третьему элементу подсписчика, чтобы изменить его. Посмотрите на код ниже:

data[1][2] = 1500
print(data)
-1
задан Brian McCutchon 20 January 2019 в 06:36
поделиться

1 ответ

Если вы посмотрите на сигнатуру метода getOrElse в признаке Option[A]:

final def getOrElse[B >: A](default: => B): B

, он развернет Option, чтобы вернуть A или его супертип до [ 116].

Теперь, с modelOpt и Option[Future[Result]], применение getOrElse с заданным значением по умолчанию типа Future[Result] (или его подтипа) приведет к Future[Result].

Аналогично тому, как работает getOrElse, но при сохранении Option на месте метод или Else имеет следующую подпись:

final def orElse[B >: A](alternative: => Option[B]): Option[B]

Таким образом, применяя orElse к modelOpt, как показано ниже вернет искомую Option[Future[Result]]:

modelOpt.orElse(Some(Future.successful(InternalServerError)))

Обратите внимание, что Future.successful используется для обеспечения уже завершенного Будущего с указанным результатом.

0
ответ дан Leo C 20 January 2019 в 06:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: