R:使R6类对象可迭代

时间:2019-04-28 04:57:31

标签: r iterable r6

在Python中,我们可以通过添加__iter__使新类可迭代。我们可以用R6类(或任何类)在R中做类似的事情吗?

例如:

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)可以工作。

任何答案将不胜感激。

0 个答案:

没有答案