Learn R Programming

pkgmaker (version 0.32.10)

new2: Alternative S4 Constructor

Description

An alternative version of new to create objects based on a list of values.

Usage

new2(class, ...)

Value

An S4 object.

Arguments

class

Class name to instanciate

...

extra arguments from which slot values are extracted by exact matching of names.

Examples

Run this code

setClass('A', contain='character', representation(x='numeric', y='character'))

# identical behaviour with standard calls
identical(new('A'), new2('A'))
identical(new('A', x=1), new2('A', x=1))

# but if passing that are names not slots 
identical(new('A'), new2('A', b=1))
identical(new('A', x=1), new2('A', x=1, b=3))
identical(new('A', x=1), new2('A', x=1, b=3))

# standard `new` would coerce first unnamed argument into parent of 'A' (i.e. 'character') 
new('A', list(x=1))
new('A', list(x=1, y='other'))
# `new2` rather use it to initialise the slots it can find in the list 
identical(new('A', x=1), new2('A', list(x=1)))
identical(new('A', x=1, y='other'), new2('A', list(x=1, y='other')))


Run the code above in your browser using DataLab