我正在尝试在 Kotlin 中创建一个类型安全的 Groovy 风格构建器,就像它所描述的那样here。
问题是嵌套 lambda 中 lambda 接收器的可见性。
这是一个简单的例子。
html {
head(id = "head1")
body() {
head(id = "head2")
}
}
嵌套 lambda 的接收者是没有“head”方法的 Body。尽管如此,这段代码编译并打印如下:
<html>
<head id="head1"></head>
<head id="head2"></head>
<body></body>
</html>
这是预料之中的,但是有什么办法可以让内部头出现编译错误吗?
从 Kotlin 1.0 开始,这是不可能的。有一个打开功能请求对于此功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)