Marc Knaup
03/07/2019, 4:18 PMclass Test(val a: Int = 1, val b: Int = 2, val c: Int = 3)
fun test() {
var a: Int? = null
var b: Int? = null
var c: Int? = null
if (someCondition) a = somethingNonNull
if (someCondition) b = somethingNonNull
if (someCondition) c = somethingNonNull
Test(
a = a ?: howToUseDefaultValue, // ??
b = b ?: howToUseDefaultValue, // ??
c = c ?: howToUseDefaultValue // ??
)
}
natpryce
03/07/2019, 4:22 PMMarc Knaup
03/07/2019, 4:23 PMnatpryce
03/07/2019, 4:24 PMMarc Knaup
03/07/2019, 4:25 PMarekolek
03/07/2019, 4:37 PMfun test() {
// ...
val defaults = Test()
Test(
a = a ?: defaults.a,
b = b ?: defaults.b,
c = c ?: defaults.c
)
}
Marc Knaup
03/07/2019, 4:37 PMMarc Knaup
03/07/2019, 4:38 PMMarc Knaup
03/07/2019, 4:38 PMarekolek
03/07/2019, 4:40 PMd
var result = Test(
d = d ?: throw ...
)
result = Test(
a = a ?: result.a,
b = b ?: result.b,
c = c ?: result.c,
d = d ?: result.d)
return result
Marc Knaup
03/07/2019, 4:52 PMMarc Knaup
03/07/2019, 4:52 PMMarc Knaup
03/07/2019, 6:30 PMKFunction.callBy
now. Works great 🙂
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect.jvm/reflect.htmlMarc Knaup
03/07/2019, 6:31 PM