如何改进惰性委托?
How to improve lazy delegate?
我如何改进此声明:
val __name: String by lazy {
createHTML().small {
+name
}
}
就像我自己的委托生成器一样html
:
val __name: String by html {
small {
+name
}
}
您似乎想要一个函数 html
,包装 lazy
并返回一个 Lazy<T>
:
fun html(builder: Html.() -> Unit) = lazy { createHtml().builder() }
(我不知道 createHtml
返回的类型,所以我假设它叫做 Html
。)
不过,我不确定这是不是好的设计,因为它失去了 lazy
的语义价值,而且它实际上只用于保存几个字符,但这只是我的看法。
我如何改进此声明:
val __name: String by lazy {
createHTML().small {
+name
}
}
就像我自己的委托生成器一样html
:
val __name: String by html {
small {
+name
}
}
您似乎想要一个函数 html
,包装 lazy
并返回一个 Lazy<T>
:
fun html(builder: Html.() -> Unit) = lazy { createHtml().builder() }
(我不知道 createHtml
返回的类型,所以我假设它叫做 Html
。)
不过,我不确定这是不是好的设计,因为它失去了 lazy
的语义价值,而且它实际上只用于保存几个字符,但这只是我的看法。