#scala #scalaz #zio
#scala #scalaz #zio
Вопрос:
В чем разница между IO и UIO в новой версии от ZIO, например, UIO[Long]
и IO[Nothing, Long]
?
Ответ №1:
Разницы нет. Введите UIO[ A] = ZIO[Any, Nothing, A]
и type IO[ E, A] = ZIO[Any, E, A]
. Таким образом, UIO[Long]
и IO[Nothing, Long]
являются ZIO[Any, Nothing, Long]
оба (т. е. любое окружение, без ошибок и значение Long
).
Вы могли бы проверить это, убедившись, что
implicitly[UIO[Long] =:= IO[Nothing, Long]]
implicitly[IO[Nothing, Long] =:= UIO[Long]]
скомпилируйте.
UIO[A]
заключается IO[Nothing, A]
.