介绍
在今天的文章中,我们将继续上周的文章,内容涉及用Java和Python制作类似于Kotlin的构建器,扩展构建器API以采用一些可选参数来提高灵活性。 我们继续我们HTML示例,尝试添加标记属性,例如类,id和样式。
Kotlin和Python
Kotlin设置这些参数的用法的方式与我在Python中的使用方式完全相同:默认参数和命名参数。 使用Kotlin看起来像这样:
html {
body {
p(klass="myClass", id="theParagraph") {
+ "the paragraph text"
}
}
}
请注意,使用“杯子”而不是“类”。 关键字和标识符的经典冲突。 您可以根据需要使用“ cls”,“ clazz”或其他任何东西。 我建议不要使用类对象语言中通常使用的任何东西,因为这是完全不同的类。
与上周的p
标签相比,这是一个很大的升级(只是p = "text"
),将其从属性更改为成熟的方法。 但是大多数其他示例不需要太多工作。 这是更新的Kotlin代码:
class Body {
...
fun p(class: String="", id: String="", style: Style=Style.blank, paragraphBuilder: Paragraph.() -> Unit) {
val p = Paragraph(class, id, style)
paragraphs.add(p)
p.paragraphBuilder()
}
...
}
class Paragr