🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: libgg a tcl

#283
From: Maciej Sobczak
Date: Fri, 13 Jan 2006 09:26
44 lines
2318 bytes
Derek Kuliński / takeda wrote:

> http://cpptcl.sourceforge.net/doc/quickstart.html
> Niezłe - ląduje do moich bookmarków :)
> 
> Chociaż nie pokazali jak w tym przekazuje się informacje (argumenty do
> funkcji, zwraca wynik itp)


http://cpptcl.sourceforge.net/doc/freefun.html

Wystarczy podać *nazwę* funkcji, którą chcemy wyeksportować. C++/Tcl 
samo rozpozna, ile jest parametrów i jakie są ich typy i zajmie się 
"brudną robotą".

Czyli mając funkcję w C (lub C++):

int abs(int i) { return i >= 0 ? i : -1 * i; }

robimy tak:

i.def("abs", abs);

i już - to wystarczy, żeby w Tclu pojawiła się komenda "abs", która ma 
jeden parametr i zwraca to, co abs().

% abs 7
7
% abs -7
7
%

> bo w sumie samo podpięcie poleceń też nie jest
> takie skomplikowane w zwykłym C.

Pewnie, że nie jest. Ale przekazywanie parametrów, wartości zwracanych, 
automatyczna transformacja wyjątków z C++ na Tcl, koncepcja klasy, 
funkcje o zmiennej liczbie parametrów, kwestie życia obiektów, operacje 
na listach - to są rzeczy, przy których C staje się uciążliwe.


-- 
Maciej Sobczak : http://www.msobczak.com/
Programming    : http://www.msobczak.com/prog/
Technical Details
Message-ID: <dq7ro1$6gb$1@sunnews.cern.ch>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!130.59.10.21.MISMATCH!kanaga.switch.ch!news-zh.switch.ch!switch.ch!cernne03.cern.ch!cern.ch!news
References: <15ap42hnax7z6$.dlg@takeda.tk.invalid> <dpvmut$j2m$1@srv.cyf-kr.edu.pl> <y6jrt3zhm1uk.dlg@takeda.tk.invalid> <dq32d4$jr4$1@sunnews.cern.ch> <1s1z0dsyl15md.dlg@takeda.tk.invalid>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!130.59.10.21.MISMATCH!kanaga.switch.ch!news-zh.switch.ch!switch.ch!cernne03.cern.ch!cern.ch!news
From: Maciej Sobczak <no.spam@no.spam.com>
Newsgroups: pl.comp.lang.tcl
Subject: Re: libgg a tcl
Date: Fri, 13 Jan 2006 10:26:25 +0100
Organization: CERN - European Laboratory for Particle Physics
Lines: 44
Message-ID: <dq7ro1$6gb$1@sunnews.cern.ch>
References: <15ap42hnax7z6$.dlg@takeda.tk.invalid> <dpvmut$j2m$1@srv.cyf-kr.edu.pl> <y6jrt3zhm1uk.dlg@takeda.tk.invalid> <dq32d4$jr4$1@sunnews.cern.ch> <1s1z0dsyl15md.dlg@takeda.tk.invalid>
NNTP-Posting-Host: abpc10883.cern.ch
Mime-Version: 1.0
X-Trace: sunnews.cern.ch 1137144385 6667 (None) 137.138.37.241
X-Complaints-To: news@sunnews.cern.ch
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050922 Red Hat/1.7.12-1.1.3.2.SL3
X-Accept-Language: en-us, en
In-Reply-To: <1s1z0dsyl15md.dlg@takeda.tk.invalid>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit