提问人:Yann Moisan 提问时间:9/12/2016 更新时间:2/19/2018 访问量:501
如何避免将 var 与 BeforeAll 一起使用
How to avoid using a var with BeforeAll
问:
当变量的初始化发生在方法内部(即在对象实例化之后)时,有没有办法避免使用 var?beforeAll
我想支持不变性......
答:
0赞
Vasilisck
9/12/2016
#1
最适合您的情况是:
lazy val x: Type = _
override def beforeAll = {
x = //you code
}
评论
0赞
Alexey Romanov
9/12/2016
没有.lazy var
0赞
Joey Baruch
2/19/2018
这不会为我编译,它仍然认为有重新分配
0赞
Noam
1/16/2017
#2
您可以使用外部伴随对象来实现这一点,scala 将确保只有其中之一:
object SparkContextProvider {
val sparkContext: SparkContext = {
val sc = new SparkContext(conf)
setup(_sc)
sc
}
}
你的测试代码将有
trait SharedSparkContext extends SparkContextProvider {
val sc = SparkContextProvider.sparkContext
}
评论