Реализация метода отправки для вектора класса R6 - PullRequest
1 голос
/ 04 ноября 2019

Есть ли какие-либо рекомендации о том, как реализовать диспетчеризацию метода для вектора объектов R6 в кадре или списке данных?

Это прекрасно работает для отдельных классов R6

Правильный способреализовать диспетчеризацию S3 на классах R6

Реализация диспетчеризации метода S3, как предлагается в другом потоке, прекрасно работает для отдельных объектов R6, например:

R6list <- R6Class(
  "R6list",
  public = list(
    field1 = "A",
    field2 = "B",
    initialize = function(x,y) {
      self$field1 <- x
      self$field2 <- y
    },
    as.list = function() {
      list(
        "field1" = self$field1,
        "field2" = self$field2
      )
    }
  )
)

as.list.R6list <- function(x, ...) {
  x$as.list()
}

mylist1 <- R6list$new("A","B")
mylist2 <- R6list$new("1","2")
as.list(mylist1)

Но как может быть что-то вроде следующегобыть реализовано:

as.list(c(mylist1,mylist2))

Возвращенный фрейм данных должен иметь строку для каждого объекта R6 и имена полей, должен использоваться как имена столбцов со значениями в каждой строке

...