-> (Resource[IO, String], Resource[IO, String]) ??
так нельзя развернуть
а почему? Если я отдельно хочу эти два ресурса использовать?
Ну Resource содержит код инициализации, который создаёт (String, String) и код освобождения
.....
Если у вас вызовется код освобождения первого ресурса, что нужно делать? Как взять функцию (String, String) => IO[Unit], которая вызывается при освобождении и вырезать из неё только код, который инициализирует первую стрингу? Чуть проще вопрос - как взять код инициализации, и не выполнять его при инициализации второго по счёту ресурса. Но самое сложное - как правильно спарить инстансы ресурсов, так чтобы один вызов инициализации и освобождения разбивался на две независимых пары
Если ответы на все эти вопросы для вас не имеют значения, можете написать просто val res1 = res.map(_._1) val res2 = res.map(_._2)
окей, вроде как понял, в моем случае освобождение ресурсов первой строки никак не связано с освобождением ресурсов второй строки, получается я просто map могу сделать? В других случаях все зависит от того, какой release для ресурса, верно?
Обсуждают сегодня