[nem-pl] Dalsze rozważania o higienicznych makrach
Kamil Skalski
nazgul at omega.pl
Mon Feb 23 23:45:59 CET 2004
Monday 23 of February 2004 23:17, Marcin 'Qrczak' Kowalczyk wrote:
> A, racja, zły przykład. Dobry przykład z forem jest taki:
>
> macro do_times (n, body)
> syntax ("do_times", n, body) {
> <[ for (i <- 0; i < $n; i <- i + 1) $body ]>
> }
>
> Kompilator powie, że "i" jest nieznane, bo nie widzi, że jedno "i"
> zwiąże pozostałe.
Kompilator zawsze tak powie... bo for nie wprowadza w żaden sposób definicji
i. Fora używa się 'for (mutable i <- 0; i < n; i <- i + 1) { ... }. Ale co
racja to racja, że ten for co napisałem zacytowany nie zadziałam, choć z
innego powdu. Nie zadziała z powodu, który wspominałeś, poprawne
<[ mutable i <- 0;
for ((); i < $n; i <- i + 1) $body ]>
No nic, coraz bardziej przekonuję się, że trzeba będzie od razu to zrobić
dobrze... Ale pewnie prościej będzie te przypadki zrobić NewSymbolem na razie
i ogólne rozwiązanie jednak na przyszłość.
No i ogólnie już nie musisz nam udowadniać, że pomyślany system jest zły, bo
zostało pokazanych dużo przykładów. :)
More information about the devel-pl
mailing list