lua - Доступ к таблице таблицы из таблицы

Во-первых, я только что начал Lua, так что, если это невозможно или очевидно, извините.

Я пытаюсь выполнить объектно-ориентированную реализацию, например:

Parent = {
  ChildVariable = "Hello",
  ChildFunction = function ()
     print(Parent.ChildVariable)
  end  
}

То, что я хотел бы знать, заключается в том, может ли вместо «Parent.ChildVariable» делать «ChildVariable», он находится в таблице, поэтому я подумал, что есть какой-то способ получить к нему доступ.

4
nl ja de

2 ответы

Parent = {
  ChildVariable = "Hello",
  ChildFunction = function(self)
     print(self.ChildVariable)
  end  
}

Parent:ChildFunction()
7
добавлено
Спасибо, я читал об этом, но не понял, но этот пример помог!
добавлено автор Oliver Cooper, источник

У Lua есть специальная конструкция для этого: оператор двоеточия. Две следующие строки эквивалентны:

tbl.func(tbl)

а также

tbl:func()
4
добавлено
pro.lua
pro.lua
411 участник(ов)

Правила: Тут можно обсуждать все, что связанно с луа-движки, интерпретаторы/компиляторы, питухан-биндинги, скрипты на сталкер и пр. Запрещена реклама! Срачи и оффтоп не желательны. За нарушение - бан github.com/rjpcomputing/luaforwindows Участник @ProDOT