Вам нужно получить доступ к второму подсписку списка, а затем к третьему элементу подсписчика, чтобы изменить его. Посмотрите на код ниже:
data[1][2] = 1500
print(data)
Если вы посмотрите на сигнатуру метода 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 используется для обеспечения уже завершенного Будущего с указанным результатом.