slot(object, name) slot(object, name, check = TRUE) <- value slotNames(x) .slotNames(x) getSlots(x) .hasSlot(object, name)
object | an object containing slots. |
name | an expression evaluating to the name of a slot for the class of object. |
check | a logical value. If TRUE (the default), checks that value is valid for slot name. If this argument is TRUE, and the class of value is not the class or a subclass of the slot, an error is generated. |
x | either the name of the class as a string, or an S4 object. |
value | the new value to be replaced. |
slot | returns the contents of the specified slot for slot(). |
slotNames | returns the character vector of the names of the slots for an S4 class. If x is a string giving the name of an S4 class, it returns the slot names for that class. If x is an S4 object, it returns the slot names for that object's class. If x is a classRepresentation object, it returns the slot names from the specified class, rather than the slots in the classRepresentation class. |
.slotNames | returns the character vector of the names of the slots for an S4 class. This is the same as slotNames, except that if x is a classRepresentation object, slotNames returns the slot names from the classRepresentation class itself. |
getSlots | returns a named character vector, whose elements are the classes of the slots, and whose names are the names of the slots. x must be either a string giving the name of an S4 class, or a classRepresentation object. |
.hasSlot | returns TRUE if name is one of the attribute names of object. This detects slots defined in the object class, as well as other attributes added to the object. |
setClass("myclass", representation(x = "numeric", y = "numeric")) myobj <- new("myclass", x=1, y=2) slot(myobj, "y") # returns 2 slot(myobj, "y") <- 3 slot(myobj, "y") # returns 3slot(myobj, "x") <- "ABC" # Error since "ABC" is not numeric slot(myobj, "x", check = FALSE) <- "ABC" # OK. slot(myobj, "x") # "ABC"
slot(myobj, "z") <- "abc" # Error: "z" is not a slot in class "myclass" slot(myobj, "z", check = FALSE) <- "abc" # OK. slot(myobj, "z") # "abc"
slotNames("myclass") # [1] "x" "y" getSlots("myclass") # x y # "numeric" "numeric" .hasSlot(myobj, "x") # TRUE .hasSlot(myobj, "z") # TRUE (since it has been added as an attribute) .hasSlot(myobj, "nosuchslot") # FALSE