[nem-pl] bugreport
Michal Moskal
malekith at pld-linux.org
Thu May 20 18:55:42 CEST 2004
On Thu, May 20, 2004 at 04:35:25PM +0200, Piotr Wysocki wrote:
> Hej,
> Na poczatku przepraszam, ze nie uzywam tego Mantisa, ale nie mam takiej
> mozliwosci (brak normalnej przegladarki). Poza tym i tak tych Mantisow
> nie umiem obslugiwac...
> Mam problem z taka funkcja:
> exc (n : int) : bool
> {
> def loop (x : int, sum : int) : int {
> if (x == n) sum
> else loop (x+1, sum + (if (n % x == 0) x else 0))
> }
tu średnik (zreszta w załączniku tak jest).
> loop (1, 0) == n
> }
A pozatym funkcja jest ok.
> Nie wiem, czy ja dobrze pojmuje idee jezyka... w kazdym razie kompilator
> zamiast wywalic mi blad, ze np. jestem glupi, bo nie znam jezyka, to wywala
> jakis shit, ktory zalaczam.
> Funkcja jest zdefiniowana w module Hello z funkcja Main () : void, ktora nic
> nie robi, takze problem jest z funkcja.
> Dla jasnosci kod funkcji exc w ocamlu wyglada tak:
> let exc n =
> let loop x sum =
> if x == n then sum
> else loop (x+1) (sum + (if n mod x == 0 then x else 0))
> in loop 1 0 == n;;
>
> --
> Piotr Wysocki :: slc.black.pl
>
> internal compiler error: got some unknown exception System.NotImplementedException: The requested feature is not yet implemented
> in <0x0002a> System.Char:ToLower (char,System.Globalization.CultureInfo)
Masz za stare mono. 0.1.2 wymaga mono 0.32. Jeśli chcesz użyć mono 0.91,
to musisz użyć też nowszego nemerle (snapshotu,
http://nemerle.org/download/snapshots/ stąd).
BTW, nie musisz podawać wszystkich typów w funkcji powyżej. Wystarczy
tyle, żeby się kompilator domyślił, że chodzi ci o + na int*int->int.
--
: 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