[nem-pl] troche javizacji do csharpizacji ?
Kamil Skalski
nazgul at omega.pl
Fri Feb 6 18:16:50 CET 2004
Friday 06 of February 2004 17:20, Michal Moskal wrote:
> On Thu, Feb 05, 2004 at 02:49:16PM +0100, Kamil Skalski wrote:
> > A patrzyłeś na nasze (nie jest to jeszcze to co byśmy chcieli, bo nie
> > mamy properties i nie możemy być zgodniz API .Netu) i C#-owe 'foreach'?
> >
> > def l = array [1, 2, 3, 4, 5, 6];
> > foreach (x : int in l) ( : int może być inferowane)
> > printf ("%d\n", x);
> >
> > w C#
> > foreach (int x in l)
> > System.Console.WriteLine ("{0}", x)
> >
> > to znaczy to wszystko działa na klasach posiadających Enumerator (z
> > IEnumerator) - nie jestem pewien, czy akurat array go ma ;-)
>
> Ma. Aczkolwiek warto by zrobić tak, że jak widzi tablice to generuje
> specjalizowany kod:
>
> for (mutable i <- 0; i < ar.Length; i <- i + 1) {
> def x = ar[i];
> ...
> }
>
> Ponieważ jest on szybszy (nie trzeba tworzyć enumeratora, wywoływać
> metod etc). To by zawsze jakaś przewaga nad C# była ;)
Możemy się kiedyś pobawić w optymalizację za pomocą typowanych makr, ale może
jednak najpierw doróbmy to co jest potrzebne do enumeratorów, czyli
properties :)
More information about the devel-pl
mailing list