karelpeeters
04/13/2018, 11:04 PMMarcel Overdijk
04/13/2018, 11:05 PMsupotuco
04/14/2018, 12:34 AMkarelpeeters
04/14/2018, 7:25 AMkarelpeeters
04/14/2018, 7:26 AMfun foo() {
val a = 3
bar()
val b = 7
fun bar() { println(a+b) }
}
nfrankel
04/14/2018, 7:26 AMnfrankel
04/14/2018, 7:28 AMval client = Client("api", "key", "secret")
fun main(args: Array<String>) {
ListVolume().run()
ListFirewallRules().run()
}
fun Command.run() = client.execute(this).third.fold(
{ println(it) },
{ throw it })
it leaks more
but is more readable imhoDiarmuid
04/14/2018, 8:03 AMDiarmuid
04/14/2018, 8:04 AMkarelpeeters
04/14/2018, 8:06 AMDiarmuid
04/14/2018, 8:17 AMDiarmuid
04/14/2018, 8:17 AMDiarmuid
04/14/2018, 8:18 AMNikita Kulikov
04/14/2018, 9:33 AMSiebelsTim
04/14/2018, 9:38 AMfun f(arg: () -> Unit) =...
However, there is a ticket open for SAM conversion for kotlin classes I believe.Nikita Kulikov
04/14/2018, 9:40 AMNikita Kulikov
04/14/2018, 9:41 AMSiebelsTim
04/14/2018, 9:59 AMDeclare all interface body wherever we use listener - bad idea :3I don't think I understand what you mean. I do think that you can achieve what you want with higher order functions. Anyway, here's a Ticket for SAM for kotlin classes. https://youtrack.jetbrains.com/issue/KT-7770
karelpeeters
04/14/2018, 10:34 AMtypealias Runnable = () -> Unit
would be the equivalent to java.lang.Runnable
.Kulwinder Singh
04/14/2018, 11:34 AMMarcel Overdijk
04/14/2018, 11:36 AMval
like:
val countryOfBirth: CountryResource? = if (person.countryOfBirth != null) CountryResource(person.countryOfBirth!!) else null
Marcel Overdijk
04/14/2018, 11:36 AMperson
is here a variable I get from the primary constructoruser
04/14/2018, 11:36 AMKulwinder Singh
04/14/2018, 11:42 AMcan't inline onClicked here: it may conatain non-local returns, add crossinline modifier to parameter declaration onClicked
SiebelsTim
04/14/2018, 11:44 AMperson.countryOfBirth?.let { CountryResource(it) }
karelpeeters
04/14/2018, 11:52 AMcrossinline
or don't inline the function at all.Kulwinder Singh
04/14/2018, 11:53 AMcrossinline
or should i keep function simplekarelpeeters
04/14/2018, 11:58 AMKulwinder Singh
04/14/2018, 12:05 PMcrossinline
Kulwinder Singh
04/14/2018, 12:05 PM