Доступ к атрибутам в ссылочном подклассе ООП - PullRequest
0 голосов
/ 08 сентября 2018

Рассмотрим следующую структуру

Child = setRefClass(
     "Child",
     fields = list(name="character"), 
     methods = list(
         initialize = function(arg) {
             name <<- arg
        }
     )
)

Parent = setRefClass(
     "Parent",
     fields = list(name="character",children="list"),
     methods = list(
         initialize = function(arg1, arg2) {
             name <<- arg1
             childs = list()
             for (i in (1:length(arg2))) {
                 childs = append(childs, Child(arg2[i]))
             }
             children <<- childs
         }
     )
 )

Теперь я выполняю

Dad = Parent("Mike", list("James", "Julie"))

И я могу получить доступ Dad, Dad$children и даже:

> Dad$children[1]
[[1]]
Reference class object of class "Child"
Field "name":
[1] "James"

Но как мне переназначить имя «Джеймс» на «Джон» инициализированного присоединенного дочернего объекта, например, внутри какой-то другой функции. Я не могу получить доступ к переменной, и я не могу перезаписать ее:

>Dad$children[1]$name
NULL

Фон Python, столь новый для этой структуры R сегодня ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...