Article View: pl.comp.lang.tcl
Article #123Re: Jak odwołać się do nazwy procedury?
From: Wojciech Kocjan
Date: Sun, 17 Jul 2005 14:44
Date: Sun, 17 Jul 2005 14:44
58 lines
3819 bytes
3819 bytes
kokoryn napisał(a): > On Tue, 12 Jul 2005 18:06:21 -0700, Derek Kuliński / takeda > <d.kulinski@gmail.com> wrote: > > >>>[...] Jestem przekonany, że istnieje jakiś ładny sposób. >> >>Wątpię, co Ty chcesz robić to coś co samo modyfikujący się kod, a to raczej >>rzadko było eleganckie. > > > Tworzenie funkcji w locie to chyba dosyć powszechna praktyka w > językach interpretowanych, prawda? Poza tym przecież Tk działa na tej > zasadzie i jest eleganckie i proste w użyciu. Incr Tcl z tego co wiem > też działa jakoś podobnie. Mniejwięcej tak. Nie wiem tylko dlaczego nie skorzystałbyś z Incr Tcl lub innego systemu obiektowego? Ja korzystam z Incr Tcl, podobno XOTcl jest bardziej Tcl-owy, ale mniej przypomina model z C++/Javy, a więc ciężej go załapać. Ja póki co się nie skusiłem na sprawdzenie co to oznacza :-) >>Ale nie możesz np używać namespaces, albo incr tcl (to bodajże obiektowy >>tcl, więc powinien mieć coś takiego wbudowane). > Myślałem o użyciu namespaces, a Incr Tcl jeszcze nie próbowałem > używać. Tak naprawdę to nie jest to jakiś realny problem wymagający > konkretnego rozwiązania. Chciałem się dowiedzieć jak osiągnąć coś > takiego w celach edukacyjnych. Rozwiązań jest tyle ilu ludzi, którzy rozumieją dynamiczność Tcl - Tcl to jedyny chyba język dynamiczny (skryptowy już nie jest trendy podobno bo się kojarzy z kodem do 200 linii), gdzie całą obiektowość zrobić nim samym. Popatrz sobie np na ilość rozwiązań lambdy. Jeśli możesz, korzystaj z Incr Tcl. Incr Tcl wiąże się z tym, że na docelowych maszynach musi być Incr Tcl albo dajesz wersję binarną - z czym jest problem pod Linuxem z kolei :(, więc jeśli natomiast nie możesz lub nie chcesz go używać, to jest conajmniej 5 możliwości, nie ma "The Right Way(TM)", bo Tcl jest na tyle dynamiczny, że nie musi być. Namespace sam w sobie nie służy do tworzenia obiektów, natomiast pomaga w zarządzaniu modułami - każdy moduł może mieć zmienne globalne w danym namespace, dzięki czemu trudniej o kolizje (chociaż daleko tu do Sunowskiego pomysłu z domenami). Namespace jest na pewno pomocny, chociażby do trzymania danych kontekstowych, jeśli już robisz OO samemu. >>No nie będzie się nic działo jak nikt nie będzie zadawał pytań czy udzielał >>odpowiedzi =) > Zgadza się. Właśnie dlatego zacząłem pisać ;). To może niech każdy się przedstawi w osobnym wątku - w kontekście Tcl oczywiście, zrobimy ruch a i na temat będzie :-) -- WK
Technical Details
Message-ID:
<42DA6EB8.7060407@kocjan.org>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.internetia.pl!newsfeed.tpinternet.pl!nemesis.news.tpi.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mailReferences:
<b4g7d1lb34n5638g0daao7mq3i0jhivh8v@4ax.com> <1wzocj9rlwvcg$.dlg@takeda.tk.invalid> <1ob8d1tdlj2bjuml0lm01gkbkkhdv5de1i@4ax.com> <7l9doxls482u.dlg@takeda.tk.invalid> <f0qkd1pii70du9tjob8tmi62nhnbpf23e8@4ax.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.internetia.pl!newsfeed.tpinternet.pl!nemesis.news.tpi.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail From: Wojciech Kocjan <hceicjow.backward@kocjan.org> Newsgroups: pl.comp.lang.tcl Subject: Re: Jak odwołać się do nazwy procedury? Date: Sun, 17 Jul 2005 16:44:08 +0200 Organization: tp.internet - http://www.tpi.pl/ Lines: 58 Message-ID: <42DA6EB8.7060407@kocjan.org> References: <b4g7d1lb34n5638g0daao7mq3i0jhivh8v@4ax.com> <1wzocj9rlwvcg$.dlg@takeda.tk.invalid> <1ob8d1tdlj2bjuml0lm01gkbkkhdv5de1i@4ax.com> <7l9doxls482u.dlg@takeda.tk.invalid> <f0qkd1pii70du9tjob8tmi62nhnbpf23e8@4ax.com> NNTP-Posting-Host: bom131.neoplus.adsl.tpnet.pl Mime-Version: 1.0 X-Trace: atlantis.news.tpi.pl 1121611453 22944 83.29.28.131 (17 Jul 2005 14:44:13 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Sun, 17 Jul 2005 14:44:13 +0000 (UTC) To: kokoryn <kokoryn_NO_SPAM_@o2.pl> User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) X-Accept-Language: pl, en-us, en In-Reply-To: <f0qkd1pii70du9tjob8tmi62nhnbpf23e8@4ax.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit