我如何改进此声明:
val __name: String by lazy {
createHTML().small {
+name
}
}
就像我自己的委托创建者html
:
val __name: String by html {
small {
+name
}
}
答案 0 :(得分:2)
似乎您想要一个函数html
,包装lazy
并返回一个Lazy<T>
:
fun html(builder: Html.() -> Unit) = lazy { createHtml().builder() }
(我不知道createHtml
返回的类型,所以我假设它的名称为Html
。)
但是,我不确定这是否是一个好的设计,因为它失去了lazy
的语义值,并且因为它确实确实可以节省一些字符,但这只是我的看法。