getYaml: Get YAML Markup (generic)

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

Description

Identifies lines that correspond to YAML markup.

Usage

1
getYaml(from, ctx = NULL, where = parent.frame(), strict = FALSE, ...)

Arguments

from

Signature argument. Object containing YAML markup.

ctx

Signature argument. Markup proecessing context.

where

environment. Environment in which to assign the function in the src field of class ObjectReferenceYaml.S3. Only relevant in case the YAML has been provided via comments instead of an inline string as this involves some additional transformation steps.

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

getYaml-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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
## Not run: 

##------------------------------------------------------------------------------  
## As inline string //
##------------------------------------------------------------------------------

## With curly brackets //  
yaml <- getYaml(
  from = function() {
    "object-ref: {id: x_1, where: .GlobalEnv, as: ref_1}"
    ref_1 * 2
  },
  ctx = YamlContext.ObjectReference.S3()
)
yaml
yaml$original
yaml$index
yaml$src

## W/o curly brackets //
yaml <- getYaml(
  from = function()
    "object-ref: {id: x_1, where: .GlobalEnv, as: ref_1}",
  ctx = YamlContext.ObjectReference.S3()
)
yaml$original
yaml$original
yaml$index
yaml$src

## Expression //
yaml <- getYaml(
  from = captureExpression({
    "object-ref: {id: x_1, where: .GlobalEnv, as: ref_1}"
    ref_1 * 2
  }),
  ctx = YamlContext.ObjectReference.S3()
)
yaml
yaml$original
yaml$index
yaml$src

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

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

##------------------------------------------------------------------------------  
## As comment //
##------------------------------------------------------------------------------

## With curly brackets //  
yaml <- getYaml(
  from = function() {
    ## object-ref: {id: x_1, where: .GlobalEnv, as: ref_1}
    ref_1 * 2
  },
  ctx = YamlContext.ObjectReference.S3()
)
yaml$original
yaml$index
yaml$src

## W/o curly brackets //
yaml <- getYaml(
  from = function()
    ## object-ref: {id: x_1, where: .GlobalEnv, as: ref_1}
    ref_1 * 2,
  ctx = YamlContext.ObjectReference.S3()
)
yaml$original
yaml$index
yaml$src


## End(Not run)

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