在Scala中,類的主構造函數沒有明確的主體,但是從類主體隱式定義。那麼,如何區分字段和本地值(即構造函數方法的本地值)呢?如何在Scala的主構造函數中定義一個局部var/val?
例如,採取下面的代碼片段,從「在Scala編程」一些示例代碼修改的形式:
class R(n: Int, d: Int) {
private val g = myfunc
val x = n/g
val y = d/g
}
我的理解是,這將產生三個字段類:私人「 g「,公共」x「和」y「。但是,g值只用於計算x和y字段,超出構造函數範圍沒有意義。
所以在這個(誠然是人爲的)例子中,你如何去爲這個構造函數定義本地值?
如果別人有類似的問題,像我一樣來到這裏,就像我一樣來到這裏。如果你正在嘗試做同樣的概念,但爲_constructors_使用我的問題的答案:https://stackoverflow.com/questions/46455835/how-to-define-val-inside-class-constructor-in-scala – 2017-09-27 20:25:55