Я хотел бы изменить рекурсивно список списков в Scala.
Я написал глубокие перестановки в Python следующим образом:
def deepReverse(items):
if type(items) == list:
return [deepReverse(item) for item in reversed(items)]
else:
return items
Как бы сделать эквивалент в Scala? Проблема не в алгоритме - это тип материала, который я новичок.
Мне нужна функция, чтобы взять список [T] или Список [Список [T]], или список T и списки Ts, на любую произвольную глубину. Я попытался сделать класс case, чтобы сделать это на примере, который я видел в другом месте. Мне не нужна функция, которая просто возвращает Any и принимает Any; это похоже на обман.
case class NL[+T](val v : Either[List[NL[T]],T])
Тем не менее, я не мог заставить мои типы балансировать. Я новичок в Scala, но я решил, что это будет прекрасная возможность возиться с рекурсией и набором текста.