Description Usage Arguments Value Fields Intended use of this class Author(s) References See Also Examples
Class representing parsed YAML markup as returned by function
parseYaml
in the context of reactive references and its constructor function.
1 2 3 |
.x |
|
Instance of class ObjectReferenceYamlProcessed.S3
.
original
character
.
YAML markup as identified by
getYaml
Initial: character()
.
parsed
list
.
Parsed YAML markup as identified by
getYaml
and parsed by parseYaml
.
Initial: list(id = character, where = NULL, as = NULL)
.
index
numeric
.
Index denoting the lines/expressions that where YAML was identified.
These lines/expressions will later be substituted by suitable expressions.
Initial: numeric()
.
src
ANY
.
Object in which YAML markup was identified. Typcially, this corresponds
to a function or expression, but it can generally be any R object that
can contain YAML markup and for which methods for
getYaml
are defined.
Initial: NULL
.
expr
environment
.
Necessary expressions in the context of processing YAML markup.
Typically, these are get
, exists
and assign
expressions, but generally this field
can hold any valid R expression.
Initial: new.env(parent = emptyenv())
.
This S3 class, or to be more precise its constructor function, exists mainly
for rapid prototyping purposes.
This is mainly reflected in the fact, that when specifying .x
, this
constructor function will simply update the class
attribute of
whatever object has been provided.
However, it also allows for a more formal OOP-style of rapid
prototyping by offering explicit class fields (all arguments except
.x
). Nevertheless, it is probably advisable to switch to an
explicit formal approach such as S4 and/or Reference Classes
once the package or application has reached a certain state of maturity.
Janko Thyson janko.thyson@rappster.de
http://github.com/Rappster/yamlr
ObjectReferenceYaml.S3,
ObjectReferenceYamlProcessed.S3,
getYaml,
parseYaml
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 | ## Not run:
## Example YAML //
yaml <- getYaml(
from = function() {
"object-ref: {id: x_1, where: .GlobalEnv, as: ref_1}"
ref_1
},
ctx = YamlContext.ObjectReference.S3()
)
yaml <- parseYaml(yaml = yaml)
## Informal use (intended mainly for rapid prototyping) //
## Takes *any* object and simply changes the class attributes
expr <- new.env()
expr$x_1 <- new.env()
expr$x_1$get_assign <- quote(ref_1 <- get("x_1", .GlobalEnv, inherits = FALSE))
ObjectReferenceYamlProcessed.S3(
list(
original = yaml$original,
parsed = yaml$parsed,
index = yaml$index,
src = yaml$src,
expr = expr
)
)
ObjectReferenceYamlProcessed.S3(TRUE)
## Formal use (explicitly using 'fields') //
res <- ObjectReferenceYamlProcessed.S3()
ls(res)
res <- ObjectReferenceYamlProcessed.S3(
original = yaml$original,
parsed = yaml$parsed,
index = yaml$index,
src = yaml$src,
expr = expr
)
res$original
res$parsed
res$index
res$src
res$expr$x_1$get_assign
## Recommended: include namespace //
## Regardless if you plan on using this class in an informal or formal way
yamlr::ObjectReferenceYamlProcessed.S3()
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.