Björn Mayer
fun interface PropHandler<P> { fun P.handle(): Unit }
kralli
fun interface PropHandler<P> { fun P.handle() } fun <P> a(handler: PropHandler<P>) {} fun main() { a<String> { } }
handle
fun <P> a(handler: PropHandler<P>) { // invoke handler on object of type P }
fun a(handler: PropHandler<String>) { val string = "Hello World" handler.invoke(string) } private fun <P> PropHandler<P>.invoke(value: P){ value.handle() }
Arkadii Ivanov
with
A modern programming language that makes developers happier.