How to pass an object to a method in Scala

后端 未结 4 651
清酒与你
清酒与你 2021-01-18 21:46

How can I pass the reference of an object to method in Scala? E.g. I want this to compile

object Constants {
  val constantA:Double = ???
}


def calc(number         


        
4条回答
  •  一生所求
    2021-01-18 22:33

    You can use the Any type

    def calc(numbers:Seq[Double], constants: Any) 
    

    but this wouldn't allow you to access the constantA value. Alternatively you could define a trait with the constant and let you object implement that:

    trait ConstantA {
      val constantA:Double
    }
    
    object Constant extends ConstantA {
      override val constantA:Double = 0.0
    }
    
    def calc(numbers:Seq[Double], constants: ConstantA) {
       ...
       // use constants.constantA
       println(constants.constantA)
       ...
    }
    

提交回复
热议问题