Learn R Programming

utils (version 3.3.1)

ls.str: 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, ...)
"print"(x, max.level = 1, give.attr = FALSE, ..., digits = max(1, getOption("str")$digits.d))

Arguments

pos
integer indicating search path position, or -1 for the current environment.
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 1: Display only the first nested level.
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. 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.
digits
the number of significant digits to use for printing.

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.

See Also

str, summary, args.

Examples

Run this code
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"))

Run the code above in your browser using DataLab