В 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)
будет работать.
Любой ответ будет очень признателен.