我遇到這個的時候,我從Apache的火花讀取代碼:
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)
}
請檢查其定義斯卡拉符號鏈接:其實它有http://docs.scala-lang.org/tutorials/FAQ/finding-symbols.html –
@RahulGopi與scala本身無關。這是由第三方庫引入的語法,可能是由火花 –
@ om-nom-nom我實際上假設這個FAQ會解釋它,並描述如何在Scaladoc中查找這樣的方法,但是它沒有。 –