parseYaml: Parse YAML Markup (generic)

Description Usage Arguments YAML syntax Author(s) References See Also Examples

Description

Parses YAML markup as identified by getYaml.

Usage

1
parseYaml(yaml, strict = FALSE, ...)

Arguments

yaml

Signature argument. Object containing identified YAML markup as returned by getYaml.

strict

logical. TRUE: error if no YAML markup could be identified (which in turn results in field original in class ObjectReferencedYaml.S3 being empty); FALSE: no error if no YAML markup could be identified.

...

Further arguments to be passed to subsequent functions/methods.

YAML syntax

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

See the official http://www.yaml.org/ for more details about YAML

Author(s)

Janko Thyson janko.thyson@rappster.de

References

http://github.com/Rappster/yamlr

See Also

parseYaml-function-YamlContext.ObjectReference.S3-method

Examples

 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
58
59
60
61
62
63
## Not run: 

##------------------------------------------------------------------------------
## From function //
##------------------------------------------------------------------------------

## Get //
yaml <- getYaml(
  from = function() {
    "object-ref: {id: x_1, where: .GlobalEnv, as: ref_1}"
  },
  ctx = YamlContext.ObjectReference.S3()
)

## Parse //
yaml <- parseYaml(yaml = yaml)

## Inspect //
yaml
yaml$original
yaml$parsed
yaml$index
yaml$src

## Condition handling //
yaml <- getYaml(
  from = function() {
    "Invalid YAML markup"
  },
  ctx = YamlContext.ObjectReference.S3()
)
yaml$original

try(getYaml(
  from = function() {
    "Invalid YAML markup"
  },
  ctx = YamlContext.ObjectReference.S3(),
  strict = TRUE
))

##------------------------------------------------------------------------------
## From expression //
##------------------------------------------------------------------------------

yaml <- getYaml(
  from = captureExpression({
    "object-ref: {id: x_1, where: .GlobalEnv, as: ref_1}"
    ref_1
  }),
  ctx = YamlContext.ObjectReference.S3()
)
yaml <- parseYaml(yaml = yaml)

## Inspect //
yaml
yaml$original
yaml$parsed
yaml$index
yaml$src


## End(Not run)

rappster/yamlr documentation built on May 27, 2019, 2:02 a.m.