Это пример реализации списка и рекурсивной функции
zipWith(), среди прочих:
https://github.com/rockthejvm/udemy-scala-beginners/blob/master/src/main/scala/exercises/MyList.scala#L131
h — голова списка,
t — хвост,
то есть обычный скаловский список head::tail, рассчитанный на применение рекурсии.
Метод
zipWith() отрабатывает, как задумывал автор. Но почему? Ведь на последнем рекурсивном вызове с пустым хвостом списка должна сработать проверка
if (list.isEmpty) и выкинуться
RuntimeException.
Но этого не происходит. Даже в отладчике оно каким-то образом просто не заходит туда. Почему?