ls.str                 package:utils                 R Documentation

List Objects and their Structure

Description:

     'ls.str' and 'lsf.str' are variations of 'ls' applying 'str()' to
     each matched name: see section Value.

Usage:

     ls.str(pos = -1, name, envir, all.names = FALSE,
            pattern, mode = "any")

     lsf.str(pos = -1, envir, ...)

     ## S3 method for class 'ls_str':
     print(x, max.level = 1, give.attr = FALSE, ...)

Arguments:

     pos: integer indicating 'search' path position.

    name: optional name indicating 'search' path position, see 'ls'.

   envir: environment to use, see 'ls'.

all.names: logical indicating if names which begin with a '.' are
          omitted; see 'ls'.

 pattern: a regular expression passed to 'ls'. Only names matching
          'pattern' are considered.

max.level: maximal level of nesting which is applied for displaying
          nested structures, e.g., a list containing sub lists. Default
          0: Display all nesting levels.

give.attr: logical; if 'TRUE' (default), show attributes as sub
          structures.

    mode: character specifying the 'mode' of objects to consider. 
          Passed to 'exists' and 'get'.

       x: an object of class '"ls_str"'.

     ...: further arguments to pass.  and 'lsf.str' passes them to
          'ls.str' which passes them on to 'ls'. The (non-exported)
          print method 'print.ls_str' passes them to 'str'.

Value:

     'ls.str' and 'lsf.str' return an object of class '"ls_str"',
     basically the character vector of matching names (functions only
     for 'lsf.str'), similarly to 'ls', with a 'print()' method that
     calls 'str()' on each object.

Author(s):

     Martin Maechler

See Also:

     'str', 'summary', 'args'.

Examples:

     require(stats)

     lsf.str()#- how do the functions look like which I am using?
     ls.str(mode = "list") #- what are the structured objects I have defined?

     ## create a few objects
     example(glm, echo = FALSE)
     ll <- as.list(LETTERS)
     print(ls.str(), max.level = 0)# don't show details

     ## which base functions have "file" in their name ?
     lsf.str(pos = length(search()), pattern = "file")

     ## demonstrating that  ls.str() works inside functions
     ## ["browser/debug mode"]:
     tt <- function(x, y=1) { aa <- 7; r <- x + y; ls.str() }
     (nms <- sapply(strsplit(capture.output(tt(2))," *: *"), `[`, 1))
     stopifnot(nms == c("aa", "r","x","y"))

