Koltin 1.2.30
Я работаю с универсальными и лямбда-функциями.
Следующие операции без универсальных типов
fun onScanExt(): (Int, Int) -> Int = {
num1, num2 -> num1 + num2
num1 + num2
}
Однако с универсальными типами:
fun <T, R> onScanExt(): (T, T) -> R = {
num1, num2 -> num1 + num2
num1 + num2
}
Полагаю, что вышеописанное не может работать, так как универсальный тип может не являться типом Number, и кто-то может передать String, и лямбда не будет знать, что делать с типом String, если в него вовлечены вычисления.
Какие-нибудь примеры примеров того, как передать несколько обобщенных типов и вернуть универсальный тип?
Заранее большое спасибо,