🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.tcl
Article #271

Re: libgg a tcl

#271
From: Derek Kuliński / takeda
Date: Thu, 12 Jan 2006 23:16
51 lines
3017 bytes
On Wed, 11 Jan 2006 08:47:18 +0100, Googie wrote:

> struct jakas_struktura
> {
>      int a;
>      char* b;
>      double c;
> }
> 
> Stworzy w interpreterze Tcl komendę 'jakas_struktura' i metody dla tej 
> struktury: get_a, set_a, get_b, set_b, get_c, set_c (nie pamietam 
> dokladnie nazw getterow i setterow, ale z grubsza o to chodzi) i jeśli 
> jakaś metoda korzysta z tej struktury, powiedzmy:
> 
> komenda <argument tej struktury>
> 
> to trzeba w Tclu pisać:
> 
> jakas_struktura s
> s set_a 325
> s set_b "hsfh"
> s set_c 345.4567
> komenda s
> 
> Wiec nie jest to zbyt wygodne.

Można w sumie napisać funkcję, która będzie te czynności wykonywała... Ale
może faktycznie lepiej zrobić to ręcznie...

> Zaletą jest fakt, że swig generuje od 
> razu sprawdzanie typów (czyli jeśli komenda otrzyma coś innego niż 
> jakas_struktura, to wyrzuci błąd).
> 
> Inną zaletą swig'a jest to, że obsługuje też IncrTcl - generuje od razu 
> klasy Itcl dla klas C++.
> 
> Kiedyś chciałem zrobić bindy Qt dla Tcl'a przy pomocy swiga, ale 
> niestety Qt jest zbyt zaawansowaną biblioteką, trzeba by skrupulatnie 
> pisać interfejsy (próbowałem po prostu przelecieć wszystkie nagłówki 
> swig'iem, jak leci - były błędy :) ). Natomiast udało mi się bez 
> problemów zrobić bindy do libaa, libcaca, oraz libSDL (w tym SDL_mixer, 
> SDL_ttf i jakieś tam inne jeszcze), tyle że uznałem że takie interfejsy 
> są bez sensu - wytłumaczyłem to powyżej - za dużo kodu Tcl trzeba pisać. 
> Tcl to nie C/C++, Tcl ma być szybki i wygodny :)

Eee szybki to ma być C, Tcl najwyżej wygodny :))

-- 
ダレック
takeda@IRCnet.EFnet, ICQ# 15827691, YahooIM: takeda64
http://ircwiki.takeda.tk - strona wiki poświęcona IRC
Technical Details
Message-ID: <1e6yfzow7byba.dlg@takeda.tk.invalid>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.cyf-kr.edu.pl!news.ceti.pl!not-for-mail
References: <15ap42hnax7z6$.dlg@takeda.tk.invalid> <dpvmut$j2m$1@srv.cyf-kr.edu.pl> <y6jrt3zhm1uk.dlg@takeda.tk.invalid> <dq2cm7$l26$1@srv.cyf-kr.edu.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.cyf-kr.edu.pl!news.ceti.pl!not-for-mail
From: Derek Kuliński / takeda <d.kulinski@gmail.com>
Newsgroups: pl.comp.lang.tcl
Subject: Re: libgg a tcl
Date: Thu, 12 Jan 2006 15:16:02 -0800
Organization: CETI S.C. (Krakow, Poland)
Lines: 51
Message-ID: <1e6yfzow7byba.dlg@takeda.tk.invalid>
References: <15ap42hnax7z6$.dlg@takeda.tk.invalid> <dpvmut$j2m$1@srv.cyf-kr.edu.pl> <y6jrt3zhm1uk.dlg@takeda.tk.invalid> <dq2cm7$l26$1@srv.cyf-kr.edu.pl>
NNTP-Posting-Host: node-402413e2.sna.onnet.us.uu.net
Mime-Version: 1.0
X-Trace: alfa.ceti.pl 1137107764 1735 64.36.19.226 (12 Jan 2006 23:16:04 GMT)
X-Complaints-To: abuse@tech.ceti.pl
NNTP-Posting-Date: Thu, 12 Jan 2006 23:16:04 +0000 (UTC)
User-Agent: 40tude_Dialog/2.0.15.1
X-Face: ptH}o2-v0T<^mQ%"Un18TXgE#jj}qUfAK;3\x;'$hO%[N&Jr^1FC~dtAe&p%]WWfXhhT_G%@!$|Nw,nq|M07r2[Jf._,ZqGWv@aULt6&Y+`2Wp9y]|=K.GgSR=]7ObD?8S|{I:D=+1K_'tn/:T0pyTQN=x).#~Z="SWp0V)P5D"8]rf=j5|{;O{0]8X;GHjl6p1R\VXngOe
X-Antivirus: avast! (VPS 0602-2, 01/11/2006), Outbound message
X-Antivirus-Status: Clean
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit