Ifvwm
07/19/2019, 2:32 AMShawn
07/19/2019, 2:37 AMIfvwm
07/19/2019, 2:42 AMShawn
07/19/2019, 2:42 AMfun <T> EventCallback<T>(block: (T) -> Unit)
Ifvwm
07/19/2019, 2:43 AMShawn
07/19/2019, 2:45 AMEventCallback<T>
would be an interfaceIfvwm
07/19/2019, 2:46 AMobject : EventCallback<Float> {
override fun onEvent(arg0: Float): Unit = if (arg0 > 0) println("ouch!")
else println("1")
EventCallback<Float> { if (it > 0) println("ouch!") else println("1") }
Shawn
07/19/2019, 2:47 AMpublic interface EventCallback<T> {
void onEvent(T arg0);
}
Ifvwm
07/19/2019, 2:49 AMShawn
07/19/2019, 2:49 AMT
if it can’t be inferredIfvwm
07/19/2019, 2:50 AMShawn
07/19/2019, 2:50 AMEventCallback { param: Float ->
if (param > 0) println("ouch!") else println("1")
}
Ifvwm
07/19/2019, 2:51 AMShawn
07/19/2019, 2:51 AMIfvwm
07/19/2019, 2:55 AMparam: Float ->
if (it > 0)
Shawn
07/19/2019, 2:58 AMIfvwm
07/19/2019, 3:00 AMit: Float ->
if (it>0)
Shawn
07/19/2019, 3:01 AMit
or you can pass an explicit parameter to the interfaceIfvwm
07/19/2019, 3:02 AMShawn
07/19/2019, 3:03 AMIfvwm
07/19/2019, 3:08 AM