Scala:使用外部参数初始化对象

时间:2016-03-21 08:57:39

标签: scala object constructor

假设我有一个变量x,它在某个时刻从用户那里接收它的值。完成后,我需要设置一个需要x的值的对象。

天真地,我想写:

Object MyCoolObject(num:Double) {
  //code
}

然后在代码中的某个地方:

val MCO = MyCoolObject(x)

但是在Scala中这是不可能的。那我该怎么做呢?

2 个答案:

答案 0 :(得分:0)

这样的事情:

class MyCoolObject(num:Double) {    
}

object MyCoolObject{
    def apply(x:Double) = new MyCoolObject(x)
}

val x : Double = 56.1
val MCO = MyCoolObject(x)

你可以使用这篇文章,即 https://twitter.github.io/scala_school/basics2.html

答案 1 :(得分:0)

这已在此处讨论:Pass Parameters to Scala Object

您还可以使用case class

  case class MyCoolObject(num: Double)
  {
    //code
  }


  val n = 10 // external data
  val myCoolObject = MyCoolObject(n)