Уведомления

Jabber-конференция сообщества: pythonua@conference.jabber.ru
  • Начало
  • » GUI
  • » Гуи хелло верлд в функциональном стиле :) [RSS Feed]

#1 Апрель 27, 2007 13:02:30

astoon
От:
Зарегистрирован: 2007-04-09
Сообщения: 335
Репутация: +  2  -
Профиль   Отправить e-mail  

Гуи хелло верлд в функциональном стиле :)

Я, конечно, понимаю, что это нафиг не нужно, но все-таки интересно:
например, как бы конструкцию вида

win = gtk.Window()
win.set_title('foo')
win.connect('destroy', gtk.main_quit)
win.show()
gtk.main()
записать с помощью таких вещей, как map(), lambda и т.д. ?
ради забавы :)



Офлайн

#2 Апрель 27, 2007 13:54:13

cleg
От:
Зарегистрирован: 2006-11-09
Сообщения: 153
Репутация: +  0  -
Профиль   Отправить e-mail  

Гуи хелло верлд в функциональном стиле :)

ы… я вижу один выход - написать это на Хаскелл. через монады :-)
в Пайтоне такой изврат сразу как-то и в голову не лезет…



Офлайн

#3 Апрель 27, 2007 14:44:43

astoon
От:
Зарегистрирован: 2007-04-09
Сообщения: 335
Репутация: +  2  -
Профиль   Отправить e-mail  

Гуи хелло верлд в функциональном стиле :)

:)
вчера в голову пришло и полночи заснуть не мог …



Офлайн

#4 Апрель 27, 2007 19:05:41

njlytoh
От:
Зарегистрирован: 2007-04-27
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Гуи хелло верлд в функциональном стиле :)

Отаке от получилось але чи не простіше процедурно?

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)

Офлайн

#5 Апрель 27, 2007 22:52:11

tabajara
От:
Зарегистрирован: 2007-01-02
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

Гуи хелло верлд в функциональном стиле :)

njlytoh, то не функціональний, а збочено - функціональний стиль )))



Офлайн

#6 Апрель 28, 2007 10:40:03

cleg
От:
Зарегистрирован: 2006-11-09
Сообщения: 153
Репутация: +  0  -
Профиль   Отправить e-mail  

Гуи хелло верлд в функциональном стиле :)

tabajara
njlytoh, то не функціональний, а збочено - функціональний стиль )))
по моему извращенной идее - извращенное решение. кстати очень неплохое.

ЗЫ а кто-то возьмется реализовать на Python монады? :-)



Офлайн

#7 Май 9, 2007 15:31:26

ofigetitelno
От:
Зарегистрирован: 2006-08-01
Сообщения: 136
Репутация: +  0  -
Профиль   Отправить e-mail  

Гуи хелло верлд в функциональном стиле :)

:)
gtk нету, но есть wx…

type('', (__import__('wx').App,), dict(OnInit=lambda self:__import__('wx').Frame(None, -1, "Hello world!").Show(True)))(0).MainLoop()



Офлайн

#8 Май 9, 2007 16:53:32

tabajara
От:
Зарегистрирован: 2007-01-02
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

Гуи хелло верлд в функциональном стиле :)

ofigetitelno
:)
gtk нету, но есть wx…
type('', (__import__('wx').App,), dict(OnInit=lambda self:__import__('wx').Frame(None, -1, "Hello world!").Show(True)))(0).MainLoop()
ОГО!!!



Офлайн

#9 Май 10, 2007 12:34:08

astoon
От:
Зарегистрирован: 2007-04-09
Сообщения: 335
Репутация: +  2  -
Профиль   Отправить e-mail  

Гуи хелло верлд в функциональном стиле :)

ofigetitelno
:)
gtk нету, но есть wx…
type('', (__import__('wx').App,), dict(OnInit=lambda self:__import__('wx').Frame(None, -1, "Hello world!").Show(True)))(0).MainLoop()
Почти Лисп …



Офлайн

  • Начало
  • » GUI
  • » Гуи хелло верлд в функциональном стиле :)[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version