0

我如何改进这个声明:

val __name: String by lazy {
     createHTML().small {
         +name
     }
}

就像我自己的委托生成器一样html

val __name: String by html {
    small {
        +name
    }
}
4

1 回答 1

2

看来您想要一个函数html,包装lazy并返回一个Lazy<T>

fun html(builder: Html.() -> Unit) = lazy { createHtml().builder() }

(我不知道返回的类型createHtml,所以我假设它被称为Html。)

然而,我不确定这是一个好的设计,因为它失去了 的语义价值lazy,而且它只真正起到了保存几个字符的作用,但这只是我的看法。

于 2018-08-29T20:25:35.670 回答