Я пытаюсь написать объект и получить доступ к его параметрам.У меня есть два файла, menus.R
, где я определяю объект, и main.R
, где я использую объект и пытаюсь получить доступ к слоту (параметру).
Код обоих файлов следующий:
menus.R
menu <- setClass("menu", slots=list(competition="numeric", stats="numeric"))
setMethod("show", "menu", function(object){
while (TRUE){
#Clean console
cat("\014")
cat("COMPARATIVA ENTRE EQUIPOS DE LA MISMA COMPETICION\n")
cat("-------------------------------------------------\n\n")
cat("1. Comparativa entre clubes de Liga DIA\n")
cat("2. Comparativa entre clubes de Liga Femenina 2 - Grupo 'A'\n")
cat("3. Comparativa entre clubes de Liga Femenina 2 - Grupo 'B'\n")
cat("0. Salir\n\n")
option <- readline("Selecciona opción: ")
option <- suppressWarnings(as.numeric(option))
if (!is.na(option)){
if (option == 1){
object@competition <- 14
}
if (option == 2){
object@competition <- 22
}
if (option == 3){
object@competition <- 23
}
readline("Espera ...")
if (option == 0)
break
}else{
readline("No es un número. Pulsa una tecla para introducir otra opción.")
}
}
})
main.R
menu(competition=0, stats=0)
print(menu@competition)
getClass(class(menu))
Когда я звоню menu(competition=0, stats=0)
Я вижу, что метод show
дает мне.Это правильно.В методе show
я присваиваю значение competition
.Когда я выхожу из метода show
, следующая инструкция - print(menu@competition)
, и вот где я получил эту ошибку:
Ошибка печати (меню @ соревнования): слот симя "Competition" для этого объекта класса "classGeneratorFunction"
Затем с getClass (класс (меню)) я получил это:
Что я делаю не так?Как я могу получить доступ к competition
или stats
?