Я склоняюсь к scala, и теперь я хочу понять, как использовать for-compressions для композиции функций. Вот функция, которую я должен реализовать без изменения ее подписи. И я почти закончил, но я не знаю, как справиться с None в этом. Не могли бы вы сказать мне, как изменить это, чтобы получить правильную обработку None? А может я совсем не прав и for-comprehension по-другому используется для составления функций в scala? Спасибо.
def testForComprehension[A, B, C, D](f: A => Option[B])
(g: B => Option[C])
(h: C => D): Option[A] => Option[D] = for { first <- _
second = f(first).get
third = g(second).get } yield h(third)
for
работает подслащенный, в какой-то момент должно стать очевидным, что вы сделали не так. - person Luis Miguel Mejía Suárez   schedule 17.04.2020