Description Usage Arguments YAML syntax Author(s) References See Also Examples
Updates the object that originally contained YAML markup. To be more
specific, the function updates field src
or class
ObjectReferenceYamlProcessed
as returned by
buildExpressionFromYaml
.
1 | updateYamlSource(yaml, ...)
|
yaml |
Signature argument.
Object containing processed YAML markup as returned by
|
... |
Further arguments to be passed to subsequent functions/methods. |
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
updateYamlSource-ObjectReferenceYamlProcessed.S3-method,
getYaml,
parseYaml,
buildExpressionFromYaml
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 | ## Not run:
## Get //
yaml <- getYaml(
from = function() {
"object-ref: {id: x_1, where: .GlobalEnv, as: ref_1}"
ref_1 * 2
},
ctx = YamlContext.ObjectReference.S3()
)
## Parse //
yaml <- parseYaml(yaml = yaml)
## Build //
yaml <- buildExpressionFromYaml(yaml = yaml)
## Update //
yaml <- updateYamlSource(yaml = yaml)
## 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)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.