private def filterVariableNames()

in scala-repl/src/main/scala/spark/ztools.sc [771:789]


    private def filterVariableNames(interpreterVariablesNames: Seq[String]) = {
      val variablesNames = interpreterVariablesNames.seq
        .filter { name => !blackList.contains(name) }
        .filter { name => whiteList == null || whiteList.contains(name) }


      val p = Pattern.compile("res\\d*")
      val (resVariables, otherVariables: immutable.Seq[String]) = variablesNames.partition(x => p.matcher(x).matches())
      val sortedResVariables = resVariables
        .map(res => Try(res.stripPrefix("res").toInt))
        .filter(_.isSuccess)
        .map(_.get)
        .sortWith(_ > _)
        .take(interpreterResCountLimit)
        .map(num => "res" + num)

      val finalNames = otherVariables ++ sortedResVariables
      finalNames
    }