Есть ли какая-либо функция, как ap2, ap3 в arrow-kt? - PullRequest
0 голосов
/ 10 июля 2019

В этом сообщении .

val a = Some(7)
val b = Some(9)
Applicative[Option].ap2(Some(add))(a,b)

я видел scala-код, используя cats . И я попытался перенести этот код в kotlin и стрелку, как показано ниже.

Option.applicative()
        .tupled(Some(7), Some(9))
        .ap(Some(::add))

// works but dirty
fun add(tuple: Tuple2<Int, Int>): Int = tuple.a + tuple.b

// not work, compilation error
// fun add(a: Int, b: Int): Int = a + b

Как вы заметили, Tuple2 должен быть указан в сигнатуре функции add.Я искал официальный документ стрелки, но нет такой функции apN, как ap2, ap3, ap4.

Можно ли использовать вторую функцию, которая не включает Tuple2 type?

...