Description Usage Arguments Details YAML syntax Author(s) References See Also Examples
Convenience wrapper. Processes YAML markup in the sense that the complete workflow associated to a given application context is executed.
1 | processYaml(from, ctx = NULL, where = parent.frame(), strict = FALSE, ...)
|
from |
Signature argument. Object containing YAML markup. |
ctx |
Signature argument. Markup proecessing context. |
where |
|
strict |
|
... |
Further arguments to be passed to subsequent functions/methods. |
Currently, this means that all processing steps associated with the context
YamlContext.ObjectReference.S3
are executed:
getYaml
parseYaml
buildExpressionFromYaml
updateYamlSource
Note that the YAML statement for specifying object references must be as follows:
object-ref: {id: {id}, where: {where}, as: {id-ref}}
Note that elements where
and as
are optional and that spaces
are required between each syntax component. While the lack of spaces will
cause a parsing error in yaml.load
, additional spaces
do not casue any trouble.
Example for valid YAML statements
object-ref: {id: x_1, where: .GlobalEnv, as: ref_1}
object-ref: {id: x_1, where: .GlobalEnv}
object-ref: {id: x_1}
object-ref: { id: x_1, where : .GlobalEnv, as: ref_1 }
See the official http://www.yaml.org/ for more details about YAML
Janko Thyson janko.thyson@rappster.de
http://github.com/Rappster/yamlr
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 54 55 56 57 | ## Not run:
##------------------------------------------------------------------------------
## From function //
##------------------------------------------------------------------------------
## Get //
yaml <- processYaml(
from = function() {
"object-ref: {id: x_1, where: .GlobalEnv, as: ref_1}"
ref_1 * 2
},
ctx = YamlContext.ObjectReference.S3()
)
## Inspect //
yaml$src
## --> note that the original YAML markup has been substituted by a
## suitable expression for this specific context (`yaml$src$x_1$get_assign`).
## The processing is now complete and the source object can be used as is
## as it is now "self contained" in the sense that it contains all information
## that are needed in order for it to do its job.
## Actual use of the source object //
x_1 <- 10
eval(yaml$src())
## Clean up //
rm(x_1)
rm(yaml)
##------------------------------------------------------------------------------
## From expression //
##------------------------------------------------------------------------------
## Get //
yaml <- processYaml(
from = captureExpression({
"object-ref: {id: x_1, where: .GlobalEnv, as: ref_1}"
ref_1 * 2
}),
ctx = YamlContext.ObjectReference.S3()
)
## Inspect //
yaml$src
## Actual use of the source object //
x_1 <- 10
eval(yaml$src)
## Clean up //
rm(x_1)
rm(yaml)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.