R Установка поля того же типа, что и тип ссылочного класса?

Я пытаюсь создать класс в R с именем move и хочу, чтобы одно из полей также имело тип move. Я знаю, что это возможно в Java, но я не уверен, как это сделать в R (если это можно сделать).

Я пытался найти примеры, но не смог найти ни одного. Вот как выглядит мой код:

move = setRefClass("move", fields=list(pos="numeric", backtracker="move"))

Это ошибка, которую я получаю при попытке запустить указанную выше строку:

Ошибка в refClassInformation (класс, содержит, поля, методы, где): класс «перемещение» для поля «обратный путь» не определен

Можно ли сделать что-то подобное в R?

Заранее спасибо!


person aklobo    schedule 13.08.2019    source источник


Ответы (1)


Один из способов сделать это - использовать ЛЮБОЙ, чтобы избежать проблемы «курица и яйцо», например.

move = setRefClass("move", 
  fields = list(
    pos="numeric", 
    backtracker="ANY"
  )
)

mov1 <- move$new()
mov1$pos <- 1

mov2 <- move$new()
mov2$pos <- 2
mov2$backtracker <- mov1  

print(mov2$backtracker$pos)

[1] 1
person Per    schedule 09.05.2020