Скажем, у меня есть класс, определенный как следующие:Как я могу отключить пустые слоты для объектов S4?
setClass("myclass", slots = list(id="character"))
Я хочу, чтобы все было так, что идентификатор является обязательным и myclass
без идентификатора является недопустимым объектом. В настоящее время, я получаю следующее:
> new("myclass")
An object of class "myclass"
Slot "id":
character(0)
Я надеялся, что настройка функции проверки поможет:
setValidity("myclass", function(object){
if(length(slot(object, "id")) == 0L){
return("You cannot do that")
}
return(TRUE)
})
> new("myclass")
An object of class "myclass"
Slot "id":
character(0)
Но, к сожалению, похоже, имея пустые аргументы вызывает функцию проверки должны быть обойдены. Есть ли способ аннулировать этот тип ввода?