3 votes

Vérification de l'entrée d'une fonction fournie en R

J'ai la fonction (inutile) suivante, en R :

say <- function (string){
  if(!exists("string")){
    stop("no output string was specified")
  }
  cat(string)
}

Ce qui est très bien pour vérifier que l'objet chaîne existe réellement. Cependant, si un objet du même nom flotte déjà dans l'espace de travail, l'erreur sera ignorée même si cela n'est pas défini dans la fonction.

Puis-je faire en sorte que la fonction exists() ne cherche que dans l'espace-fonction de l'objet ?

5voto

Joshua Ulrich Points 68776

Vous recherchez missing . D'autres font plutôt quelque chose comme ceci :

say <- function(string=NULL){
  if(is.null(string)){
    stop("no output string was specified")
  }
  cat(string)
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X