Forum Informatica Unict

LAUREA MAGISTRALE => Linguaggi di Programmazione, 9 CFU => Topic started by: rox on 05-07-2014, 13:49:54



Title: problema con l'utilizzo degli oggetti in OCaml
Post by: rox on 05-07-2014, 13:49:54
salve a tutti, non ho ben capito perchè questo codice non stampa a video le coordinate del punto appena modificato ... il codice è il seguente:
Code:

open Printf;;


let myPunto = object
val mutable x = 0
val mutable y = 0
method get_x = x
method get_y = y
method setcoord new_x new_y = x <- new_x ; y<- new_y
method mostra  =printf "il punto si trova qui:(%i,%i)\n" x y

end;;

let bumpd p = p#setcoord (p#get_x +1) (p#get_y +1);;
let bumpd p = p#mostra;;

se non ho capito male, eseguendo il codice da terminale, dovrebbero accadere le seguenti cose:
1)viene creato un punto come è stato definito da me,
2) viene richiamata la funzione setcoord sul punto creato
3)viene richiamata la funzione mostra sul punto creato precedentemente

purtroppo non capisco perchè non mi compare la stringa a video sul terminale ... la stringa che mi aspetto è la seguente:
Code:
il punto si trova qui:(valore della x,valore della y)


qualcuno mi potrebbe dire dove sbaglio e se ho capito bene come lavora Ocaml?Inoltre non ho capito cosa sia "bumpd"...