Вы должны модифицировать t
и b
функциональным способом, используя функции более высокого порядка, такие как map
, filter
, ... и помещать результат их в новые val
с (например, modifiedT
modifiedB
). Затем вы можете использовать Tuple2
для возврата 2 значений из метода.
def doSomething(t: List[T], b: List[B], e: E) = {
// somehting you want to do
val modifiedT = t.map(...).filter(...)
val modifiedB = b.map(...).filter(...)
(modifiedT, modifiedB) // returns a Tuple2[List[T], List[B]]
}
В методе вызова вы можете назначить значения следующим образом:
val (t2, b2) = doSomething(t, b, e)
Конечно, это зависит от того, что вы имеете в виду под "изменить".
Если эта модификация сложная штука, вы должны рассмотреть возможность использования view
, чтобы сделать вычисления ленивыми, чтобы переместить время расчета на более поздний момент времени.