Форум сайта python.su
Вопрос знатокам.
Можно ли на python организовать бесконечный цикл средствами функционального программирования.
В статьях в основном пишут про рекурсию для реализации цикла while. Но для бесконечного цикла это не подходит, по крайней мере, в явном виде.
И вообще, как работает стек в обычном CPython? Интересует в общем и в случае замыкания в частности.
Запускать интерпретатор под GDB как-то душу не греет.
Заранее спасибо.
Офлайн
1. Нет
2. Смотрите FrameObject
Офлайн
Хорошо.
Появилась мысль. Применить map на бесконечную последовательность или на замкнутый список. Осталось понять, как можно сделать чт-то наподобие break в функции map.
Офлайн
Андрей Светлов
Андрей Светлова itertools.count() и иже с ним?
1. Нет
Офлайн
Мне почему-то представилась бесконечная рекурсия, а не бесконечный генератор.
Офлайн
Андрей Светлов
а если что-то типа хвостового вызова? Как тут, например: http://paulbutler.org/archives/tail-recursion-in-python/ . Правда, while все равно используется, потому что в питоне нет реализации tail call, а как говорил Гвидо, и не будет.
Офлайн
Бесконечная хвостовая рекурсия достигается и изменением байт-кода, правда я так никогда не поступлю, наверное.
> while. Но для бесконечного цикла это не подходит, по крайней мере, в явном виде.
Можешь пояснить?
..bw
Отредактировано (Сен. 2, 2011 21:26:14)
Офлайн
бесконечный цикл:
while True:
print ‘do something’
Офлайн
Fibio, вопрос о реализации бесконечного цикла средствами функционального программирования. В вашем примере представлен императивный подход, который для всех очевиден.
Офлайн
EnchantnerА в чём сложность сделать хвостовую рекурсию? Даже я её делал как-то раз.
питоне нет реализации tail call, а как говорил Гвидо, и не будет.
Офлайн