Scala限制类参数值

时间:2016-12-05 15:14:59

标签: scala

我是Scala的新手。我有一个类,其参数如下:

class myClass(val param: Params, val normalizer: Int){..

我有一个apply方法,用默认参数值初始化类:

 def apply(): myClass = new myClass(AnotherClass.getParams, 1000) 

我想限制normalizer参数,以便仅在normalizer>时允许构造对象。 0,否则抛出异常。但是,这应该在所有情况下都会发生,而不仅仅是在apply方法的默认情况下。处理这种情况的正确方法是什么?

先谢谢。

1 个答案:

答案 0 :(得分:0)

只需在类体中添加require(normalizer > 0),然后根据该类等创建一个类层次结构。

查看主题中的更多细节: what to choose between require and assert in scala

小例子:

class test(n: Int){
  require(n > 10)
}

related Predef documentation