A
setmetatable
не добавляет ключи в детей-подчинённых. Там хитрая схема, метатаблица не оставляет видимых следов.Size: a a a
A
setmetatable
не добавляет ключи в детей-подчинённых. Там хитрая схема, метатаблица не оставляет видимых следов.S
getmetatable(Child).__index.c = 20
Или сразу:Parent.c = 20
A
с
,то как я могу его менять у детеныша, если у него нет ключа с
S
S
A
S
A
S
getmetatable
его можно будет получить.S
parent = {key1 = 10, key2 = 20}
child = {key1 = 30}
setmetatable(child, {__index = parent})
print(child.key1) --> 30 -- свой
print(child.key2) --> 20 -- родительский
parent.key2 = 50 -- меняем родительский
print(child.key2) --> 50 -- ребёнок адаптируется
-- добавляем поле с тем же именем к ребёнку
child.key2 = 100 -- теряем доступ к родительскому
print(child.key2) --> 100 -- свой
print(parent.key2) --> 50
-- child = {key1 = 30, key2 = 100}
-- parent = {key1 = 10, key2 = 50}
S
child.key2 = 100
) — ребёнок перестаёт искать его у родителя: у него появился свой ключ, ему теперь незачем его искать у родителя. Но все остальные отсутствующие ключи будут продолжать искаться у родителя.S
A
S
__index
. Оно же не копируется, а типа одалживается у родителя.A
__index
. Оно же не копируется, а типа одалживается у родителя.A
A
S
turn_off
))