$(objectName) 在 Scala Spark 中如何工作?
How does $(objectName) work in Scala Spark?
您好,我正在尝试学习 org.apache.spark.ml 设计。我注意到参数值通常是通过使用 $ 符号来检索的。
例如,在 NGram.scala
val n: IntParam = new IntParam(this, "n", "number elements per n-gram (>=1)",
ParamValidators.gtEq(1))
/** @group setParam */
def setN(value: Int): this.type = set(n, value)
/** @group getParam */
def getN: Int = $(n)
$ 是一个具有一般特性的 Scala 运算符吗?
我可以在 eclipse 中看到(当我将鼠标悬停在 $(n)
上时)它被定义为
final protected def $[T](param: Param[T]): T
但是我找不到上面定义的class。
你能告诉我这是在哪里定义的吗?
美元符号是 Scala 中完全合法的方法名称。可以看到这个方法的定义here.
在这种情况下,它只是 getOrDefault
的别名。
您好,我正在尝试学习 org.apache.spark.ml 设计。我注意到参数值通常是通过使用 $ 符号来检索的。 例如,在 NGram.scala
val n: IntParam = new IntParam(this, "n", "number elements per n-gram (>=1)",
ParamValidators.gtEq(1))
/** @group setParam */
def setN(value: Int): this.type = set(n, value)
/** @group getParam */
def getN: Int = $(n)
$ 是一个具有一般特性的 Scala 运算符吗?
我可以在 eclipse 中看到(当我将鼠标悬停在 $(n)
上时)它被定义为
final protected def $[T](param: Param[T]): T
但是我找不到上面定义的class。
你能告诉我这是在哪里定义的吗?
美元符号是 Scala 中完全合法的方法名称。可以看到这个方法的定义here.
在这种情况下,它只是 getOrDefault
的别名。