2014-10-11 113 views
0

我正在使用Scala和Play框架來創建一個web應用程序。我有一個連接到Cassandra DB的類。我使用構造函數連接到數據庫,但它不起作用,實際上,我無法從構造函數中調用任何函數函數。我是新來的Scala,但從我在Scala上閱讀的教程中,它應該可以工作。代碼如下:Scala構造函數中的函數不會被調用

class Database 
{  
var cluster = Cluster.builder().addContactPoint(Play.application.configuration.getString("cassandra.node")).build() 
var session = cluster.connect("acm") 
} 

爲了清楚起見,我刪除了其餘的類。 當我創建一個類的實例時,這些函數不會被調用,並且在另一個函數中使用它們時變量將保持未分配狀態。他們從一個正常的功能工作得很好。我還用記錄器測試了它,但沒有寫任何內容。那麼這裏發生了什麼?

+1

大概你沒有調用構造函數?向我們展示如何創建實例。此外,用兩個變量的其他表達式(例如println)來替換這兩個變量的rhs。他們接到電話了嗎? – 2014-10-12 18:15:06

回答

0
scala> class A { 
     var x = 1 
     println(s"x = $x") 
     } 

     val a = new A 

,我得到了預期的結果

scala> x = 1 

從上下文給出了什麼,我認爲它應該工作。如果沒有,它應該駐留在其他地方。