Specifying the Microwave Oven Class
To create R6 objects, you first have to create a class generator, sometimes known as a factory. These are created using the R6Class() (docs) function.
The first argument to R6Class() is the name of the class of the objects that are created. By convention, this is written in UpperCamelCase. Another argument to R6Class() is called private and holds the data fields for the object. This argument should be a list, with names for each of its elements.
Further arguments to R6Class() will be discussed in the coming exercises. The pattern for defining an object factory is as follows.
thing_factory <- R6Class(
"Thing",
private = list(
a_field = "a value",
another_field = 123
)
)
Questo esercizio fa parte del corso
Object-Oriented Programming with S3 and R6 in R
Istruzioni dell'esercizio
- Define a factory for a microwave oven.
- Call
R6Class. - The class name should be
"MicrowaveOven". - The
privateelement should be alist. - That list should contain a single field, named
power_rating_watts, taking the value800.
- Call
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Define microwave_oven_factory
microwave_oven_factory <- ___(
"___",
___ = ___(
___ = ___
)
)