class HTML {
fun body() {}
}
fun aaa() {}
fun html(foo: HTML.() -> Unit): HTML {
val html= HTML()
html.foo()
return html
}
fun main(args: Array): Unit {
html{ aaa() } //aaa not HTML object receive function, why not error?
}
Here’s your code properly indented :
class HTML {
fun body() {}
}
fun aaa() {}
fun html(foo: HTML.() -> Unit): HTML {
val html= HTML()
html.foo()
return html
}
fun main(args: Array): Unit {
html{ aaa() } //aaa not HTML object receive function, why not error?
}
If you’re looking for help, I recommend that you post readable code
Now for the answer: The aaa
function is simply called. You can call any non-member function from “within” an object.
thanks.
Forbidding aaa()
in your example is equal to forbidding println()
and ANY OTHER top-level function and constructor, which is hardly practical.