我在scala中有一段代碼,但是我想從中刪除++。代碼運行良好,但我試圖不使用++或任何內置函數或運算符(甚至不:) ::。如何在Scala中取消++
創建一個val還是有更好的方法呢?
下面是該代碼的一個示例。
def partitionAux[A](f: A => Boolean, lst: List[A],
rslt: (List[A], List[A])):(List[A], List[A]) = {
lst match {
case Nil => return result
case head :: rest => {
if (f(head))
return partitionHelper(f, rest, (result._1 ++ List[A](head), rslt._2))
else ...
1.什麼(partitionAux'應該做什麼;給出樣本輸入和輸出)? 2.爲什麼(你不想使用'++')? –
這是我正在做的練習的一部分。 partitionAux是幫助者方法,它應該通過檢查其他函數是真還是假來將列表拆分爲2。 –
樣本將是如果如果要拆分賠率和evens之間的列表:列表(0,1,3,4,6))==(列表(0,4,6),列表(1,3)) –