gpt4 book ai didi

scala - 如何将对象传递给 Scala 中的方法

转载 作者:行者123 更新时间:2023-12-04 16:30:54 24 4
gpt4 key购买 nike

如何将对象的引用传递给 Scala 中的方法?例如。我想要这个编译

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


def calc(numbers:Seq[Double], Constants) = ??? // does not compile
def calc(numbers:Seq[Double], constants:Constants) = ??? // does not compile

当然我可以引用 Constants不通过参数列表传递它,但我更愿意将方法的所有依赖项显式地作为参数传递。

最佳答案

Constants是一个对象。您没有将对象指定为方法参数的参数类型,而是将类型指定为方法参数的参数类型:

def calc(numbers:Seq[Double], constants: Constants.type) = ???

一般来说,更精确的类型是好的,但在这种情况下,过度精确的类型可能会做得过火,因为类型 Constants.type 只有一个实例。 ,所以除了 Constants 之外,你不能通过任何东西。 object 作为参数,这使得“参数化”的整个想法变得毫无意义。

关于scala - 如何将对象传递给 Scala 中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42761790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com