2015-07-11 30 views
1

是否可以用這種方式聲明一個全局變量?在scala中聲明一個全局變量

如果我運行這個片段,我會遇到一個錯誤

object Test { 
    val value -> error on this line for declaration issue 
    def run() { 
    value = ... 
    } 
def main(args: Array[String]) { 
    run() 
    } 

在此先感謝。

+0

爲'var' –

+0

@orid爲VAR它可以保持全球你可以聲明價值? – user582040

+0

var和val都在對象範圍內。不同的是,val是不可變的,而var是可變的。 –

回答

3

你理論上可以使用特質。 我不確定這是你需要的。

它應該是這樣的:

trait MyTestTrait { 
    val value: String 
} 

object MyTest extends MyTestTrait { 
    val value = "yo!" 
    def run = println(value) 
} 
1

不,這是不可能的。你應該這樣做:

object Test { 
    val value = ... 
} 

由於您run()功能不帶參數的value內容也可以不計算它。