On 2014-03-20, 8:02 PM, Christophe Genolini wrote:
Hi the list,

One of my package has an (other) error detected by memtest that I do not manage 
to understand.
Here is the message that I get from Memtest

--- 8< ----------------
  > try(choice(cld1))
Error in switch(EXPR = choix, Up = { : EXPR must be a length 1 vector
--- 8< ----------------

The choice function does call the choiceChangeParam function, which is:

--- 8< ----------------
choiceChangeParam <- function(paramChoice){

      texte <- paste("     ~ Choice : menu    ~\n",sep="")

      choix <- getGraphicsEvent(texte,onKeybd=function(key){return(key)})
      switch(EXPR=choix,
             "Up"    = {
                 if(xy[1]>1){
                     paramChoice['toDo'] <- "xy"
                     xy[2]<-1
                     xy[1]<-xy[1]-1
                     paramChoice['xy']<-xy
                 }else{paramChoice['toDo'] <- ""}
             },
             "Down"  = {
                 if(xy[1]<nrow(paramChoice['critMatrix'])){
                     paramChoice['toDo'] <- "xy"
                     xy[2]<-1
                     xy[1]<-xy[1]+1
                     paramChoice['xy']<-xy
             "d" = {
                 paramChoice['toDo'] <- "changeCriterion"
                 paramChoice['critRank'] <- 
(paramChoice['critRank']%%length(CRITERION_NAMES)) + 1
             },
             "c" = {
                 paramChoice['toDo'] <- "order"
             },
             default={}

             )
      return(paramChoice)
}
--- 8< ----------------

choix is a character of lenght 1 since getGraphicsEvent return a character, am 
I wrong?


It can also return NULL, but to be sure, why not print the value?

Duncan Murdoch

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to