[Scala] в примере по ссылке всё работает, как хотел автор, но почему?
От: xnoname  
Дата: 15.11.21 15:48
Оценка:
Это пример реализации списка и рекурсивной функции 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.

Но этого не происходит. Даже в отладчике оно каким-то образом просто не заходит туда. Почему?
scala рекурсия
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.