"Warnes, Gregory R" <[EMAIL PROTECTED]> writes: > Perhaps one could create a utility function > > has.element <- function(list, name) name %in% names(list) > > and then have $ generate a warning (not an error!) when the named element > does not exist.
Because of partial matching, list$name can return a result when your has.element function returns FALSE. > lst = list(foo = 1:3, bar = LETTERS[1:3]) > lst$f [1] 1 2 3 > has.element <- function(list, name) name %in% names(list) > has.element(lst, "f") [1] FALSE Before we go too far in speculating about what the $ operator should or should not return when the name is not matched, let's all remember that the semantics of the $ operator explicitly state that it should return NULL and, as Duncan wrote, there are many, many places in the base code for R that depend upon this behavior. Trust me - you really don't want to change this. ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-devel
