karelpeeters
03/19/2018, 3:26 PMMichael
03/19/2018, 3:29 PMfun filterOn(init: MyClass.() -> Unit): MyClass {
infix fun String.equals(value: Any) = Condition(this, value, Operator.EQ)
infix fun String.contains(value: Any) = Condition(this, value, Operator.CONTAINS)
infix fun String.isNotNull(value: Any) = Condition(this, value, Operator.ISNOTNULL)
MyClass().apply(init)
}
, but the infix functions aren’t available within the init
functionAndreas Sinz
03/19/2018, 3:30 PMMichael
03/19/2018, 3:30 PMmarstran
03/19/2018, 3:30 PMobject DSL {
infix fun <http://String.space|String.space>(that: String): String = "$this $that"
}
fun dsl(f: DSL.() -> Unit) = DSL.f()
fun main(args: Array<String>) {
dsl {
"Hello" space "world!"
}
}
Michael
03/19/2018, 4:18 PM