из @ bradrn
Рекурсия - это когда одна функция вызывает себя, останавливается при выполнении определенного условия («базовый случай») Был достигнут. В чисто функциональных языках программирования это базовая c конструкция для реализации итерации.
A l oop - это конструкция, в которой блок кода выполняется несколько раз, пока условие не будет выполнено. достигается, часто обновляя значение переменной, пока оно не удовлетворяет указанному условию. В императивных языках программирования это базовая конструкция c для реализации итерации; наоборот, чисто функциональные языки обычно не предоставляют циклов. (Быстрый поиск в Google говорит мне, что в Elixir нет циклов.)
A понимание списка отличается от двух других конструкций тем, что не может (обычно) выполнять произвольный код. Вместо этого понимание списка может использоваться только для создания списка. Понимание списка проходит через элементы одного (или нескольких) списков, определяет, какие из них удовлетворяют определенному условию, и собирает эти удовлетворяющие элементы в новый список.