Найти - Пользователи
Полная версия: Функциональное программирование
Начало » Python для новичков » Функциональное программирование
1 2
vvpoloskin
Вопрос знатокам.
Можно ли на python организовать бесконечный цикл средствами функционального программирования.
В статьях в основном пишут про рекурсию для реализации цикла while. Но для бесконечного цикла это не подходит, по крайней мере, в явном виде.

И вообще, как работает стек в обычном CPython? Интересует в общем и в случае замыкания в частности.
Запускать интерпретатор под GDB как-то душу не греет.
Заранее спасибо.
Андрей Светлов
1. Нет
2. Смотрите FrameObject
vvpoloskin
Хорошо.
Появилась мысль. Применить map на бесконечную последовательность или на замкнутый список. Осталось понять, как можно сделать чт-то наподобие break в функции map.
Enchantner
Андрей Светлов
Андрей Светлов
1. Нет
а itertools.count() и иже с ним?
Андрей Светлов
Мне почему-то представилась бесконечная рекурсия, а не бесконечный генератор.
Enchantner
Андрей Светлов
а если что-то типа хвостового вызова? Как тут, например: http://paulbutler.org/archives/tail-recursion-in-python/ . Правда, while все равно используется, потому что в питоне нет реализации tail call, а как говорил Гвидо, и не будет.
bw
Бесконечная хвостовая рекурсия достигается и изменением байт-кода, правда я так никогда не поступлю, наверное.

> while. Но для бесконечного цикла это не подходит, по крайней мере, в явном виде.
Можешь пояснить?

..bw
Fibio
бесконечный цикл:
while True:
print ‘do something’
GaiveR
Fibio, вопрос о реализации бесконечного цикла средствами функционального программирования. В вашем примере представлен императивный подход, который для всех очевиден.
Обедающий философ
Enchantner
питоне нет реализации tail call, а как говорил Гвидо, и не будет.
А в чём сложность сделать хвостовую рекурсию? Даже я её делал как-то раз.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB