An alternative version of new
to create objects based on a list
of values.
new2(class, ...)
class | Class name to instanciate |
---|---|
... | extra arguments from which slot values are extracted by exact matching of names. |
setClass('A', contain='character', representation(x='numeric', y='character')) # identical behaviour with standard calls identical(new('A'), new2('A'))#> [1] TRUE#> [1] TRUE#> [1] TRUE#> [1] TRUE#> [1] TRUE# standard `new` would coerce first unnamed argument into parent of 'A' (i.e. 'character') new('A', list(x=1))#> An object of class "A" #> [1] "1" #> Slot "x": #> numeric(0) #> #> Slot "y": #> character(0) #>#> An object of class "A" #> [1] "1" "other" #> Slot "x": #> numeric(0) #> #> Slot "y": #> character(0) #># `new2` rather use it to initialise the slots it can find in the list identical(new('A', x=1), new2('A', list(x=1)))#> [1] TRUE#> [1] TRUE