Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

DOLLARLT_-.Object

Makes the fields and methods of an Object assignable via the \$<- and the [[<- operator


Description

Makes the fields and methods of an Object assignable via the $<- operator. This method is never called explicitly, but through an indirect usage of the $<- operator, e.g. obj$name <- "foo".

1) This method will first search for a set<Name>() method, e.g. if name has the value "age", a setAge() will be looked for. If such a method exists it will be called with the Object as the first argument and value as the second, e.g. setAge(this, value).

A set<Name>() is only looked for if <name> is a non-private field. A private field is a name beginning with a . (period). The rational for this naming convention is to be consistent with how ls() works, which will not list such members by default. Moreover, excluding private fields for the search of a set<Name>() will decrease the overhead for such field.

2) If no such method exists the value will be assigned to an existing field named name, if such exists.

3) Otherwise, the value will be assigned to a static field, if such exists.

4) In all other case, the value is assigned to a new field.

Because any set<Name>() is called first, it is possible to encapsulate (hide away) fields with certain names or to put restrictions to what values can be assigned to them.

Usage

## S3 replacement method for class 'Object'
this$name <- value
  ## S3 replacement method for class 'Object'
this[[name]] <- value

Arguments

name

The name of the set<Name>() method or the name of the field to be assigned the new value.

value

The value to be assigned.

Value

Returns itself, i.e. this, as all $<- methods must do.

Author(s)

Henrik Bengtsson

See Also

For more information see Object.

Examples

## Not run: For a complete example see help(Object).

R.oo

R Object-Oriented Programming with or without References

v1.24.0
LGPL (>= 2.1)
Authors
Henrik Bengtsson [aut, cre, cph]
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.