[nem-pl] troche javizacji do csharpizacji ?
Michal Moskal
malekith at pld-linux.org
Fri Feb 6 17:20:06 CET 2004
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 ;)
--
: Michal Moskal :: http://www.kernel.pl/~malekith :: GCS !tv h e>+++ b++
: When in doubt, use brute force. -- Ken Thompson :: UL++++$ C++ E--- a?
More information about the devel-pl
mailing list