Работа с типами Option и Either - идиоматические преобразования?

Мне, вероятно, не хватает чего-то правильного в документации, но я не могу понять этого - я учил себя Scala в основном путем пробного использования. и ошибка.

Для функции f: A => C , как идиоматический способ выполнить следующие преобразования?

Либо [A, B] -> Либо [C , B]

Либо [B, A] -> Либо [B, C]

(Если у меня есть две такие функции и я хочу преобразовать обе стороны, могу ли я сделать все сразу или применить идиому дважды последовательно?)

Вариант [A] -> Вариант [C]

(у меня такое ощущение, что здесь предполагается использовать для (...) yield как-то; я, наверное, просто убрать его, и я буду глупо, когда увижу ответ)

И что точно является «проекцией» Либо , в любом случае?

10
задан axel22 21 September 2011 в 21:12
поделиться