Closed5
Kotlin で 高階関数 (引数に関数)
class FuncSample(
private val a: Int,
private val b: Int,
private val sumFunc: (a: Int, b: Int) -> Int,
) {
fun sum(): Int {
return sumFunc(a, b)
}
}
fun sum(a: Int, b: Int): Int {
return a + b
}
FuncSample(5, 5, ::sum).sum()
// -> 10
定義して呼び出すところまで
class Calculator {
companion object {
fun sum(a: Int, b: Int): Int {
return a + b
}
}
}
FuncSample(5, 5, { a, b ->
Calculator.sum(a, b)
}).sum()
// -> 10
.
経由でクラス内の関数等を渡す場合はそのままだと渡らないが、この形で渡すと使える
このスクラップは2021/02/17にクローズされました