0

在许多情况下,我想将相同的filterormap函数应用于SeqorParSeq集合。但是我不想写两次代码。

def fun(data:ParSeq[String], num_start:Int,num_end:Int) = {
    data filter { x=>
      val temp = extract_number(x)
      num_start <= temp && temp <= num_end
    }
  }

和上面的代码一样,对于一个Seq[String]我需要申请fun的,我要重新重写一遍,内容完全一样。我怎样才能避免它?

4

2 回答 2

5

尝试这个

def fun(data:GenSeq[String], num_start:Int,num_end:Int) = {
    data filter { x=>
      val temp = extract_number(x)
      num_start <= temp && temp <= num_end
    }
  }

GenSeq 是 atrait并且它由两者扩展 [或实现]ParSeqSeq

于 2017-03-16T06:24:24.617 回答
1

您可以使用GenSeq[String].

ParSeqSeqextends ,这GenSeq通常用于具有将使用并行或顺序操作的函数,具体取决于您传递给它们的集合类型。

于 2017-03-16T06:20:11.307 回答