Я понимаю, что это, вероятно, невозможно, я спустился в кроличью нору, пытаясь рекурсивно построить дерево из корневого узла, который привел меня к этому беспорядку ...
Я удалил весь пух, чтобы просто показать корень «проблемы» (где проблема, скорее всего, в том, что я пытаюсь сделать что-то, что просто не имеет никакого смысла в CS).
Итак, у меня есть такой класс:
class Node(parent: Node?, child: Node?)
И я хочу создать его таким образом (передав "this" - который еще не был создан как родительский параметр дочернему узлу корня. Просто записывая это сейчас, я понимаю, что это кажется супер глупым ... но возможно ли это каким-либо образом в Котлине?
fun exampleFail() {
val root = Node(null, Node(root, null)) // Not possible because of compiler
}
РЕДАКТИРОВАТЬ: Чтобы уточнить - я полностью осознаю, что здесь "this" будет относиться к классу, к которому принадлежит exampleFail. Когда я писал «это», я имел в виду «строящийся узел ...» и да, я полностью осознаю, что это синтаксически неверно, но я пытаюсь выяснить, есть ли способ сделать это.
РЕДАКТИРОВАТЬ 2: Заменить «это» на «корень», чтобы прояснить, что я пытаюсь сделать.