Scala构造函数中的函数不会被调用
问题描述:
我正在使用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")
}
为了清楚起见,我删除了其余的类。 当我创建一个类的实例时,这些函数不会被调用,并且在另一个函数中使用它们时变量将保持未分配状态。他们从一个正常的功能工作得很好。我还用记录器测试了它,但没有写任何内容。那么这里发生了什么?
答
scala> class A {
var x = 1
println(s"x = $x")
}
val a = new A
,我得到了预期的结果
scala> x = 1
从上下文给出了什么,我认为它应该工作。如果没有,它应该驻留在其他地方。
大概你没有调用构造函数?向我们展示如何创建实例。此外,用两个变量的其他表达式(例如println)来替换这两个变量的rhs。他们接到电话了吗? – 2014-10-12 18:15:06