scala构造函数不能使用隐式函数&初始化类

时间:2016-04-11 14:39:09

标签: scala constructor implicit

我有一个构造函数:

  import ****.Views._
  def this(stages: Seq[PipelineStage]) = this (
    stages,
    new TraversableView(stages).filterByType[Producer].map(_.getOutputCol).toList,
    new TraversableView(stages).filterByType[Producer].map(_.getOutputCol).lastOption)
  )

TraversableView是Views:

下的一个隐含功能
  implicit class TraversableView[A](self: Traversable[A]) {

    def filterByType[B <: A: ClassTag]: Traversable[B] = {
      val result: Traversable[B] = self.flatMap{
        case tt: B => Some(tt)
        case _ => None
      }
      result
    }
  }

然而,当我编译时,我收到以下错误:

Error:(25, 9) not found: type TraversableView
    new TraversableView(stages).filterByType[Producer].map(_.getOutputCol).toList,
        ^
Error:(26, 9) not found: type TraversableView
    new TraversableView(stages).filterByType[Producer].map(_.getOutputCol).lastOption
        ^

怎么会发生这种情况?它是scala编译器的限制吗?

0 个答案:

没有答案