Форум сайта python.su
Я, конечно, понимаю, что это нафиг не нужно, но все-таки интересно:
например, как бы конструкцию вида
win = gtk.Window()
win.set_title('foo')
win.connect('destroy', gtk.main_quit)
win.show()
gtk.main()
Офлайн
ы… я вижу один выход - написать это на Хаскелл. через монады :-)
в Пайтоне такой изврат сразу как-то и в голову не лезет…
Офлайн
:)
вчера в голову пришло и полночи заснуть не мог …
Офлайн
Отаке от получилось але чи не простіше процедурно?
import gtk win=gtk.Window() list=[ (win,#з цим обєктом маніпуляції [ #список методів що слід виконати та параметрів що їм передати ('set_title',['foo']), ('connect',['destroy', gtk.main_quit]), ('show',[]), ], ), ] # І функційонально проходим по задачках котрі тра виконати :) map(lambda (_obj,_todo): map( lambda (_method,_params): getattr(_obj,_method)(*_params),_todo),list) gtk.main()
Отредактировано (Апрель 27, 2007 19:08:24)
Офлайн
njlytoh, то не функціональний, а збочено - функціональний стиль )))
Офлайн
tabajaraпо моему извращенной идее - извращенное решение. кстати очень неплохое.
njlytoh, то не функціональний, а збочено - функціональний стиль )))
Офлайн
:)
gtk нету, но есть wx…
type('', (__import__('wx').App,), dict(OnInit=lambda self:__import__('wx').Frame(None, -1, "Hello world!").Show(True)))(0).MainLoop()
Офлайн
ofigetitelnoОГО!!!
:)
gtk нету, но есть wx…type('', (__import__('wx').App,), dict(OnInit=lambda self:__import__('wx').Frame(None, -1, "Hello world!").Show(True)))(0).MainLoop()
Офлайн
ofigetitelnoПочти Лисп …
:)
gtk нету, но есть wx…type('', (__import__('wx').App,), dict(OnInit=lambda self:__import__('wx').Frame(None, -1, "Hello world!").Show(True)))(0).MainLoop()
Офлайн