Article View: pl.comp.lang.pascal
Article #93043Re: Generic a deklaracja w metodzie klasy
From: Łukasz 'Maly' Ostrowski
Date: Thu, 01 Jul 2010 10:15
Date: Thu, 01 Jul 2010 10:15
74 lines
3345 bytes
3345 bytes
On Thu, 01 Jul 2010 11:30:31 +0200, webmajsterek@poczta.onet.pl wrote:
> a jaki jezyk ma tak wyjatkowe i cudowne właściwości ??
C#/C++/Java. Największy potencjał w C++, najłatwiejsze i
prawie feature complete w C#, najuboższe i okrojone w Java'ie,
jak właściwie cała Java ;-).
> teoretycznie da sie to obejsc bo zrobilem cos takiego ze zrobilem obiekt
> abstrakcyjny ( ma dokladnie te same metody ) i wszystkie moetody w nim sa
> wirtualne
>
> type
> AbstractMyClass=class abstract
> var Next:MyClass;
> procedure Add(Source :MyClass );virtual;abstract;
> end;
>
> Generic MyClass<nBit>=class(AbstractMyClass)
> procedure Add(Source :MyClass );override;
> end;
>
> nawet to działa !!
U mnie się nie kompiluje, w każdym razie "as is", skąd kompilator
ma wiedzieć jaką specjalizacje ma "var Next:MyClass;"?
Free Pascal Compiler version 2.4.0 [2009/12/18] for i386
...
Generics without specialization can not be used as a type for a variable.
> jak gdziesz w programie jest taka konstrukcja
>
> type
>
> MyClass=class;
> {...}
> NextClass= class
> test:MyClass;
> end; { Definicje innych klas -- które odwoluja sie do MyClass}
>
> { wlasciwa definicja MyClass }
> generic MyClass<nBit>= clas ( JakisObjekt )
> private type
> TArray=array of nBit; << to tu blad -- kompilator mowi ze nie wie co
> to nBit
> private var
> Data:TArray;
> {...}
> end;
Nic dziwnego, deklaracja zapowiadająca jest niezgodna z definicją.
> a moze w necie jest jakies naarzedzie ktore ma podobna ffunkcjionalnosc jak
> generic ( oczywiscie dla pascala ).
> parsowało by kod i odpowiednio z obiektu wejsciowego wyszukiwało by slow
> kluczowych i je podmienialo .znacie cos takiego ??
Jakikolwiek grep z replacem w wersji bazowej wykonywany
z build scriptu na etapie pre build ;-). Rzeźbienie w
gównie oczywiście ;-).
p.s. Bierzesz jakieś leki? Po 2+ latach na grupie, po raz pierwszy
nie musiałem Cie odszyfrowywać jeżeli chodzi o gramatyke,
ortografie i literówki ;-). W sensie, po raz pierwszy nie ma
dramatu ;-).
p.p.s. Jeżeli wklejasz dłuższy fragment to zamiast w posta lepiej
do wkleić na pastebin.com albo cos podobnego. Najlepiej
w formie wprost do kompilacji. ;-)
--
Pozdrawiam,
Łukasz 'Maly' Ostrowski. http://l3v.pl/
Technical Details
Message-ID:
<scfxyygq3fib$.6jn6nl6d4hoe.dlg@40tude.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mailReferences:
<13mp0lmcq7dbl.1djvbhj3mgqk0$.dlg@40tude.net> <60b5.000013d6.4c2c6037@newsgate.onet.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mail From: Łukasz 'Maly' Ostrowski <maly@USUNnemo.pl> Newsgroups: pl.comp.lang.pascal Subject: Re: Generic a deklaracja w metodzie klasy Date: Thu, 1 Jul 2010 12:15:50 +0200 Organization: Acme Lines: 74 Message-ID: <scfxyygq3fib$.6jn6nl6d4hoe.dlg@40tude.net> References: <13mp0lmcq7dbl.1djvbhj3mgqk0$.dlg@40tude.net> <60b5.000013d6.4c2c6037@newsgate.onet.pl> NNTP-Posting-Host: static-78-9-71-129.ssp.dialog.net.pl Mime-Version: 1.0 X-Trace: news.dialog.net.pl 1277979366 32007 78.9.71.129 (1 Jul 2010 10:16:06 GMT) X-Complaints-To: abuse@dialog.net.pl NNTP-Posting-Date: Thu, 1 Jul 2010 10:16:06 +0000 (UTC) User-Agent: 40tude_Dialog/2.0.15.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit