Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用;“自我”;scala构造函数中的as参数_Scala_Apache Spark - Fatal编程技术网

使用;“自我”;scala构造函数中的as参数

使用;“自我”;scala构造函数中的as参数,scala,apache-spark,Scala,Apache Spark,我试图从Apache Spark的源代码中理解以下类声明: class PairRDDFunctions[K, V](self: RDD[(K, V)]) (implicit kt: ClassTag[K], vt: ClassTag[V], ord: Ordering[K] = null) extends Logging with SparkHadoopMapReduceUtil with Serializable { 自我在这里是什么意思?它是否将类的其余部分中的s

我试图从Apache Spark的源代码中理解以下类声明:

class PairRDDFunctions[K, V](self: RDD[(K, V)])
(implicit kt: ClassTag[K], vt: ClassTag[V], ord: Ordering[K] = null)
   extends Logging
   with SparkHadoopMapReduceUtil
   with Serializable
   {

自我在这里是什么意思?它是否将类的其余部分中的self设置为等于传入的RDD?

self
只是传入构造函数的参数的名称。因此,对RDD的引用将通过名为
self
的字段保存(如果它在类中的其他位置使用,Scala编译器将创建相应的字段)。它类似于(一个更简单的例子)

也许这里有一些混淆,参数名为
self
和,通常称为
self

  class NodeImpl extends NodeIntf {
    self: Node =>

只是一个正常的论点。没有特别的意义。
  class NodeImpl extends NodeIntf {
    self: Node =>