2012-04-05 2 views
3

Ich habe die folgende (sinnlose) Funktion, in R geliefert. Wenn jedoch ein Objekt mit demselben Namen bereits im Arbeitsbereich herumläuft, ignoriert es den Fehler, obwohl dies in der Funktion nicht definiert ist.eine Funktionseingang Überprüfung wird in R

Kann ich es so machen, dass die exists() - Funktion nur im Funktionsraum für das Objekt sucht?

Antwort

5

Sie suchen nach missing. Andere tun so etwas wie dieses stattdessen:

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

d 'if (fehlt (string)) stop()' – jbaums

+0

, was die Vorteile von '' gegen missing' is.null' sind? –

+0

@Xu: Es ist möglich, eine Variable in Existenz zu haben, deren Wert NULL ist, also hängt es im Wesentlichen genau davon ab, was Sie mit der Variable machen wollen. –

Verwandte Themen