ObjectReferenceYaml.S3: Class: ObjectReferenceYaml.S3

Description Usage Arguments Value Fields Intended use of this class Author(s) References See Also Examples

Description

Class representing YAML markup in the context of reactive references and its constructor function. The class for the reactive reference context is YamlContext.ObjectReference.S3

Usage

1
2
ObjectReferenceYaml.S3(.x, original = character(), index = numeric(),
  src = NULL)

Arguments

.x

ANY. An object of an arbitrary class whose class attribute should be updated so that it becomes an instance of class ObjectReferenceYaml.S3. Mainly intended for rapid prototyping purposes

Value

Instance of class ObjectReferenceYaml.S3.

Fields

original

character. YAML markup as identified by getYaml Initial: character().

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.

Intended use of this class

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.

Author(s)

Janko Thyson janko.thyson@rappster.de

References

http://github.com/Rappster/yamlr

See Also

YamlContext.ObjectReference.S3

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
## Not run: 

## Informal use (intended mainly for rapid prototyping) //
## Takes *any* object and simply changes the class attributes
ObjectReferenceYaml.S3(
  list(
    original = "object-ref: {id: x_1, where:.GlobalEnv, as: ref_1}",
    index = 1,
    src = function() {
      "object-ref: {id: x_1, where:.GlobalEnv, as: ref_1}"
      ref_1
    }
  )
)  
ObjectReferenceYaml.S3(TRUE)  

## Formal use (explicitly using 'fields') //
res <- ObjectReferenceYaml.S3()
ls(res)
res <- ObjectReferenceYaml.S3(
  original = "object-ref: {id: x_1, where:.GlobalEnv, as: ref_1}",
  index = 1,
  src = function() {
    "object-ref: {id: x_1, where:.GlobalEnv, as: ref_1}"
    ref_1
  }
)
res$original
res$index
res$src

## Recommended: include namespace //
## Regardless if you plan on using this class in an informal or formal way
yamlr::ObjectReferenceYaml.S3(
  original = "object-ref: {id: x_1, where:.GlobalEnv, as: ref_1}",
  index = 1,
  src = function() {
    "object-ref: {id: x_1, where:.GlobalEnv, as: ref_1}"
    ref_1
  }
)


## End(Not run)

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