假设我有一些这样的类:
abstract class View(val writer: XMLStreamWriter) {
// Implementation
}
class TestView(writer: XMLStreamWriter) extends View(writer) {
// Implementation
}
Run Code Online (Sandbox Code Playgroud)
View的大多数子类都不会采用不同的构造函数参数.我希望能够写出这样的东西:
class TestView extends View {
// Implementation
}
Run Code Online (Sandbox Code Playgroud)
是否有一些编写子类的快捷方式,以便您不必显式定义构造函数args并将它们传递给超类(因此,如果我更改超类的签名,则不必重新编写所有子类) ?
我正在研究Scala中的一个小型MVC"框架"(它真的非常小).我希望能够将我的视图文件编写为Scala代码,这样我就可以从编译器中获得很多帮助.预编译很棒,但我真正想要的是让servlet容器根据请求自动编译某些文件(我的视图文件),这样我就不必关闭Jetty并立即编译所有源文件,然后再次启动它只是为了看到我的HTML的小变化.
我用.NET中的.ascx文件做了很多(这个文件只包含一个带有一堆C#代码的scriptlet标签,里面用XmlWriter写出标记)我喜欢这个工作流程.您只需进行更改然后刷新浏览器,但它仍在编译中!
我没有很多Java经验,但似乎也可以用JSP做到这一点.我想知道Scala中是否有可能出现这种情况.
我自己开始构建这个(请参阅更多信息:http://www.nabble.com/Compiler-API-td12050645.html)但如果它在那里我宁愿使用别的东西.
我总是在Array和Hash文档中看到replace,我一直认为这很奇怪.
我确信我做过很多次这样的事:
a = [:a, :b, :c, :d]
...
if some_condition
a = [:e, :f]
end
Run Code Online (Sandbox Code Playgroud)
但我从未想过要用这个:
a = [:a, :b, :c, :d]
...
if some_condition
a.replace [:e, :f]
end
Run Code Online (Sandbox Code Playgroud)
我认为这是预期的用途.这真的可以节省内存,还是有其他好处,还是仅仅是一种风格的东西?