Я сейчас делаю R-пакет, и мне нужно выбирать между возвращаемыми списками и объектом с атрибутами S3. Что касается списков, то хорошо то, что их очень легко использовать для новичков, так как знак доллара позволяет легко найти все элементы. Плохо то, что он удаляет прямое наследование (я хотел бы вернуть объект ts с некоторой дополнительной информацией).
Альтернативой будет установка доллара для моего класса S3, как в этом примере:
object <- 1
class(object) <- "MyClass"
attr(object,"MyAttribute") <- "This is a secret"
`$.MyClass` <- function(x,name) attr(object,name)
object$MyAttribute
Однако у меня есть 2 вопроса по этому поводу:
- Где установить функцию частичного сопоставления в долларах, чтобы пользователь видел «MyAttribute» как допустимый выбор в rstudio?
- Кроме того, это хорошая практика, или я должен продолжать использовать простые списки
Спасибо