変数の初期化がbeforeAll
メソッドの内部で(オブジェクトのインスタンス化後に)行われるときにvarを使用しないようにする方法はありますか?BeforeAllでvarを使用しないようにする方法
私は不変性を好むと思います...
変数の初期化がbeforeAll
メソッドの内部で(オブジェクトのインスタンス化後に)行われるときにvarを使用しないようにする方法はありますか?BeforeAllでvarを使用しないようにする方法
私は不変性を好むと思います...
あなたのケースのための最善の方法は次のとおりです。
lazy val x: Type = _
override def beforeAll = {
x = //you code
}
'lazy var'はありません。 –
これは私のためにコンパイルされません、それはまだ再割り当てがあると思っています –
あなたはScalaは一つだけ、それらのがあることを確認します、これを達成するために外部のコンパニオンオブジェクトを使用することができます。
object SparkContextProvider {
val sparkContext: SparkContext = {
val sc = new SparkContext(conf)
setup(_sc)
sc
}
}
あなたはテストコードには、
trait SharedSparkContext extends SparkContextProvider {
val sc = SparkContextProvider.sparkContext
}
があります。http://eugenezhulenev.com/blog/2014/10/18/run-tests-in-stand私はコンストラクタでコンテキストを初期化する際にどのような意味があるのかわかりませんが、 – Markon