3
J'ai décidé de donner un autre coup aux classes de référence, mais mon premier monde de salut me cause déjà des problèmes. Qu'est-ce qui ne va pas ici?Champs de classe de référence disparaissant
> memory <- setRefClass(
+ Class = "memory",
+ fields = list(state="vector"),
+ methods = list(
+ get = function() { return(state) },
+ set = function(x) { state <<- x }
+ )
+)$new()
> memory$set(123)
> print(memory)
Reference class object of class "memory"
Field "state":
[1] 123
> memory$get()
[1] 123
> print(memory)
Reference class object of class "memory"
Field "state":
Error in methods::show(field(fi)) :
error in evaluating the argument 'object' in selecting a method for function 'show': Error in get(name, envir = .self) :
unused argument(s) (name, envir = .self)
Selon toute vraisemblance, doit faire avec 'get' étant une sorte de nom réservé; votre code fonctionne si je renomme 'get' en quelque chose d'autre comme' get.state'. – flodel
Ah génial. Cela ne me rend pas trop à l'aise que 'setRefClass' ne lance pas d'avertissement pour cela. – Jeroen