Рассмотрим следующую структуру
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 сегодня ..