Description Usage Arguments Path-like identifiers Author(s) References See Also Examples
Retrieves value from a nested object structure based on a path-like
id
with the last ID component being the actual object name that contains
the value.
1 2 | getNested(id, where = parent.frame(), default = NULL, strict = c(0, 1, 2),
...)
|
id |
Signature argument. Object containing path-like name/ID information. |
where |
Signature argument. Object containing location information. |
default |
|
strict |
|
... |
Further arguments to be passed to subsequent functions/methods. |
Values for id
are expected to be of structure a/b/c/.../z
,
i.e. path-like identifiers using a slash as separator.
The identifier is transformed to a$b$c$...$z
and then in turn to a
valid get or assign
expression
(i.e. a$b$c$...$z
and a$b$c$...$z <- value
).
Of course, "atomic" paths (e.g. only a
) are also valid.
Janko Thyson janko.thyson@rappster.de
http://github.com/Rappster/nestr
getNested-char-env-method,
setNested,
rmNested
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | ## Not run:
## Also see examples at `?setNested`
##------------------------------------------------------------------------------
## Basics //
##------------------------------------------------------------------------------
setNested(id = "test", value = TRUE)
getNested(id = "test")
## --> leaf
setNested(id = "a/b/c", value = 10, gap = TRUE)
ls(getNested(id = "a"))
## --> branch
ls(getNested(id = "a/b"))
## --> branch
getNested(id = "a/b/c")
## --> leaf
## Clean up //
rm(test)
rm(a)
##------------------------------------------------------------------------------
## Explicit `where` //
##------------------------------------------------------------------------------
where <- new.env()
setNested(id = "a/b/c", value = 10, where = where, gap = TRUE)
getNested(id = "a/b/c", where = where)
## Clean up //
rm(where)
##------------------------------------------------------------------------------
## Different `default` //
##------------------------------------------------------------------------------
setNested(id = "test", value = 10)
getNested(id = "test", default = NA)
getNested(id = "z", default = NA)
getNested(id = "z/a/b", default = NA)
getNested(id = "test", default = "nope")
getNested(id = "z", default = "nope")
getNested(id = "z/a/b", default = "nope")
## Clean up //
rm(test)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.