Я видел примеры, когда функция имеет аргумент, заданный ClassName.() Кажется, это не функция расширения, а ClassName.Function()
.Примером является Kotterknife:
private val View.viewFinder: View.(Int) -> View?
get() = { findViewById(it) }
Который я не совсем знаю функцию,
fun Activity.drawer(setup: DrawerBuilderKt.() -> Unit = {}): Drawer {
val builder = DrawerBuilderKt(this)
builder.setup()
return builder.build()
}
Где код позволяет напрямую звонить
drawer {
...
}
вместо того, чтобы приводить аргументы в скобках.
Есть ли где-нибудь документация по этому вопросу?