Latest posts on Гуи хелло верлд в функциональном стиле :) topichttps://python.su/forum/topic/742/2007-05-10T12:34:08+03:00Общий :: GUI :: Гуи хелло верлд в функциональном стиле :)
2007-05-10T12:34:08+03:00astoon5195<blockquote><em>ofigetitelno</em><br/>:)<br/>gtk нету, но есть wx…<br/><div class="code"><pre>type('', (__import__('wx').App,), dict(OnInit=lambda self:__import__('wx').Frame(None, -1, "Hello world!").Show(True)))(0).MainLoop()</pre></div></blockquote>Почти Лисп …
Общий :: GUI :: Гуи хелло верлд в функциональном стиле :)
2007-05-09T16:53:32+03:00tabajara5186<blockquote><em>ofigetitelno</em><br/>:)<br/>gtk нету, но есть wx…<br/><div class="code"><pre>type('', (__import__('wx').App,), dict(OnInit=lambda self:__import__('wx').Frame(None, -1, "Hello world!").Show(True)))(0).MainLoop()</pre></div></blockquote>ОГО!!!
Общий :: GUI :: Гуи хелло верлд в функциональном стиле :)
2007-05-09T15:31:26+03:00ofigetitelno5185:)<br/>gtk нету, но есть wx…<br/><div class="code"><pre>type('', (__import__('wx').App,), dict(OnInit=lambda self:__import__('wx').Frame(None, -1, "Hello world!").Show(True)))(0).MainLoop()</pre></div>
Общий :: GUI :: Гуи хелло верлд в функциональном стиле :)
2007-04-28T10:40:03+03:00cleg4964<blockquote><em>tabajara</em><br/>njlytoh, то не функціональний, а збочено - функціональний стиль )))</blockquote>по моему извращенной идее - извращенное решение. кстати очень неплохое.<br/><br/>ЗЫ а кто-то возьмется реализовать на Python монады? :-)
Общий :: GUI :: Гуи хелло верлд в функциональном стиле :)
2007-04-27T22:52:11+03:00tabajara4960<strong>njlytoh</strong>, то не функціональний, а збочено - функціональний стиль )))
Общий :: GUI :: Гуи хелло верлд в функциональном стиле :)
2007-04-27T19:05:41+03:00njlytoh4959Отаке от получилось але чи не простіше процедурно?<br/><div class="code"><pre><span class="kn">import</span> <span class="nn">gtk</span>
<span class="n">win</span><span class="o">=</span><span class="n">gtk</span><span class="o">.</span><span class="n">Window</span><span class="p">()</span>
<span class="nb">list</span><span class="o">=</span><span class="p">[</span>
<span class="p">(</span><span class="n">win</span><span class="p">,</span><span class="c">#з цим обєктом маніпуляції</span>
<span class="p">[</span> <span class="c">#список методів що слід виконати та параметрів що їм передати</span>
<span class="p">(</span><span class="s">'set_title'</span><span class="p">,[</span><span class="s">'foo'</span><span class="p">]),</span>
<span class="p">(</span><span class="s">'connect'</span><span class="p">,[</span><span class="s">'destroy'</span><span class="p">,</span> <span class="n">gtk</span><span class="o">.</span><span class="n">main_quit</span><span class="p">]),</span>
<span class="p">(</span><span class="s">'show'</span><span class="p">,[]),</span>
<span class="p">],</span>
<span class="p">),</span>
<span class="p">]</span>
<span class="c"># І функційонально проходим по задачках котрі тра виконати :)</span>
<span class="nb">map</span><span class="p">(</span><span class="k">lambda</span> <span class="p">(</span><span class="n">_obj</span><span class="p">,</span><span class="n">_todo</span><span class="p">):</span> <span class="nb">map</span><span class="p">(</span> <span class="k">lambda</span> <span class="p">(</span><span class="n">_method</span><span class="p">,</span><span class="n">_params</span><span class="p">):</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">_obj</span><span class="p">,</span><span class="n">_method</span><span class="p">)(</span><span class="o">*</span><span class="n">_params</span><span class="p">),</span><span class="n">_todo</span><span class="p">),</span><span class="nb">list</span><span class="p">)</span>
<span class="n">gtk</span><span class="o">.</span><span class="n">main</span><span class="p">()</span>
</pre></div>
Общий :: GUI :: Гуи хелло верлд в функциональном стиле :)
2007-04-27T14:44:43+03:00astoon4955:)<br/>вчера в голову пришло и полночи заснуть не мог …
Общий :: GUI :: Гуи хелло верлд в функциональном стиле :)
2007-04-27T13:54:13+03:00cleg4954ы… я вижу один выход - написать это на Хаскелл. через монады :-)<br/>в Пайтоне такой изврат сразу как-то и в голову не лезет…
Общий :: GUI :: Гуи хелло верлд в функциональном стиле :)
2007-04-27T13:02:30+03:00astoon4953Я, конечно, понимаю, что это нафиг не нужно, но все-таки интересно:<br/>например, как бы конструкцию вида<br/><div class="code"><pre>win = gtk.Window()<br/>win.set_title('foo')<br/>win.connect('destroy', gtk.main_quit)<br/>win.show()<br/>gtk.main()</pre></div>записать с помощью таких вещей, как map(), lambda и т.д. ?<br/>ради забавы :)