5
我打算使用實現DSL創建HTML的文檔中的official example。Kotlin類型安全製造商DSL,最外層功能的安全
由於Kotlin 1.1,@DslMarker
註釋允許我們限制我們類中的函數範圍,例如@HtmlTagMarker
註釋中的示例。
html {
body {
body { // this in an error, as it's a function call on the outside Html element
}
}
}
然而,這並不妨礙嵌套最外層的功能,這是入口點DSL:嘗試寫不正確的結構化這樣的代碼時,這給了我們一個錯誤。例如,與例子,因爲它是現在,這個可以寫下來沒有問題:
html {
html {
}
}
有沒有什麼辦法讓一個DSL在這方面更安全嗎?
這基本上是完美的,謝謝! – zsmb13