gpt4 book ai didi

scala - $() 在 Scala 中是什么意思?

转载 作者:行者123 更新时间:2023-12-04 11:22:44 26 4
gpt4 key购买 nike

当我从 apache-spark 读取代码时遇到这个:

    val alpha = new DoubleParam(this, "alpha", "alpha for implicit preference",
ParamValidators.gtEq(0))
/** @group getParam */
def getAlpha: Double = $(alpha)

我在网上搜索了很长时间,但仍然没有找到很好的解释 $(alpha)这里的意思?如何分配自定义类 DoubleParam变量为 Double ?谢谢!!

仅供引用, DoubleParam类定义为:
class DoubleParam(parent: String, name: String, doc: String, isValid: Double => Boolean)
extends Param[Double](parent, name, doc, isValid) {

def this(parent: String, name: String, doc: String) =
this(parent, name, doc, ParamValidators.alwaysTrue)

def this(parent: Identifiable, name: String, doc: String, isValid: Double => Boolean) =
this(parent.uid, name, doc, isValid)

def this(parent: Identifiable, name: String, doc: String) = this(parent.uid, name, doc)

/** Creates a param pair with the given value (for Java). */
override def w(value: Double): ParamPair[Double] = super.w(value)
}

最佳答案

$()是在特征 Params 中定义的 Spark 函数.它只是调用 getOrDefaultParams目的。

它的定义是

/** An alias for [[getOrDefault()]]. */
protected final def $[T](param: Param[T]): T = getOrDefault(param)

关于scala - $() 在 Scala 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31984575/

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