R: The Slots in an Object from a Formal Class

slot {methods} | R Documentation

## The Slots in an Object from a Formal Class

### Description

These functions return or set information about the individual slots in an object.

### Usage

    object@name
    object@name <- value

    slot(object, name)
    slot(object, name) <- value

    slotNames(x)

### Arguments

`object` | An object from a formally defined class.
`name` | The character-string name of the slot. The name must be a valid slot name: see Details below.
`value` |
`x` | Either the name of a class or an object from that class. Print `getClass(class)` to see the full description of the slots.

### Details

The `"@"` operator and the `slot` function extract or replace the formally defined slots for the object. The operator takes a fixed name, which can be unquoted if it is syntactically a name in the language. A slot name can be any non-empty string, but if the name is not made up of letters, numbers, and `"."`, it needs to be quoted.

In the case of the `slot` function, the slot name can be any expression that evaluates to a valid slot in the class definition. Generally, the only reason to use the functional form rather than the simpler operator is because the slot name has to be computed.

The definition of the class contains the names of all slots diretly and indirectly defined. Each slot has a name and an associated class. Extracting a slot returns an object from that class. Setting a slot first coerces the value to the specified slot and then stores it.

Unlike attributes, slots are not partially matched, and asking for (or trying to set) a slot with an invalid name for that class generates an error.

### Author(s)

John Chambers

### References

Chambers, J. M. (1998) Programming with Data, Springer.

The web page http://www.omegahat.org/RSMethods/index.html is the primary documentation.

### See Also

`@`, `Classes`, `Methods`, `getClass`

### Examples

      slot(myTrack, "x")
      slot(myTrack, "y") <- log(slot(myTrack, "x"))

      slotNames("track")

[Package Contents]