[Rd] Memcheck: error in a switch using getGraphicsEvent
Duncan Murdoch
murdoch.duncan at gmail.com
Fri Mar 21 01:45:28 CET 2014
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
More information about the R-devel
mailing list