Fre*_*ind 7 scala variable-assignment
我正在阅读项目的来源,并在那里找到了这样的代码:
private var _responded: Boolean = _
{
_responded = false
}
Run Code Online (Sandbox Code Playgroud)
我不明白为什么他这样写,不是一样的:
private var _responded = false
Run Code Online (Sandbox Code Playgroud)
他们之间有什么区别?
我是该代码的作者.
像这样写:
private var _responded = false
Run Code Online (Sandbox Code Playgroud)
在编译时导致此警告(对于Scala的旧版本,Scala 2.9似乎没有问题):
the initialization is no longer be executed before the superclass is called
Run Code Online (Sandbox Code Playgroud)
您可以谷歌搜索该警告以查找更多信息.
我想冒这个猜测,但这看起来很像intellij自动Java到Scala转换生成的代码.
这个转换器试图尽可能地保持原始Java的语义,因此倾向于产生非常惯用的代码,以及许多嵌套的作用域和可变变量.
| 归档时间: |
|
| 查看次数: |
256 次 |
| 最近记录: |