R: сделать объект класса R6 итеративным - PullRequest
2 голосов
/ 28 апреля 2019

В Python мы можем сделать новый класс повторяемым, добавив __iter__. Можем ли мы сделать что-то подобное в R с классом R6 (или любым другим классом)?

Например:

my_list_class <- R6Class("my_list_class",
    public = list(
      elem = list(),
      initialize = function(x=list()) {
         self$elem = as.vector(x)
      }    
    )
)

Я бы хотел, чтобы следующие функции

my_list <- my_list_class$new(c(1,2,3,4,5))

for (l in my_list) { print(l) }
# [1] 1
# [1] 2
# [1] 3
# [1] 4
# [1] 5

Хотя я знаю с этим примером, for (l in my_list$elem) будет работать.

Любой ответ будет очень признателен.

...