J'essaie d'apprendre oCaml et j'ai un problème quant à la raison pour laquelle le programme ci-dessous n'est pas valide.Question OAM de base OCaml
class myClass2 =
object
method doSomething = Printf.printf "%s\n" "Doing something"
end;;
class myClass foo =
object
val dMember = foo
method doIt = dMember#doSomething
end;;
let mc2 = new myClass2;;
let mc = new myClass mc2;;
mc#doIt;;
L'erreur que je reçois en essayant de compiler le programme est le suivant:
File "sample.ml", line 6, characters 5-84:
Some type variables are unbound in this type:
class myClass :
(< doSomething : 'b; .. > as 'a) ->
object val dMember : 'a method doIt : 'b end
The method doIt has type 'a where 'a is unbound
Je suis particulièrement intéressé de savoir pourquoi:
val dMember = foo
method doIt = dMember#doSomething
est invalide. Toute aide (et je veux dire ) est appréciée.
Est-ce que cela ne viendrait pas à l'encontre de l'utilisation du typage structurel dans la méthode myClass.doIt? – Juliet