Size: a a a

2020 April 24

S

Snusmumriken in pro.lua
Ameliance SkyMusic
#вопрос
это нормально, что в таблицу ЭЛЕМ в качестве метатаблицы передается таблица ЭЛЕМЕНТ, где находится сама таблица ЭЛЕМ?
В таблицу elem передаётся метатаблица с __index = element. Всё в порядке.

И ты чот всё заспамил картинками.

Вот только тут есть фигня, что если ты вызовешь elem:new_elem(...), то создастся образец elem с метатаблицей __index = elem, что не есть хорошо, поэтому не вызывай эту функцию у elem'ов, только у element'а.
источник

A

Ameliance SkyMusic in pro.lua
Snusmumriken
В таблицу elem передаётся метатаблица с __index = element. Всё в порядке.

И ты чот всё заспамил картинками.

Вот только тут есть фигня, что если ты вызовешь elem:new_elem(...), то создастся образец elem с метатаблицей __index = elem, что не есть хорошо, поэтому не вызывай эту функцию у elem'ов, только у element'а.
вот я не пойму, попытался повторить то, что делает эта штука, но у меня вышло нечто другое (как мне кажется проще)... или я чего-то не понимаю в том, что было и там есть свой смысл?
источник

A

Ameliance SkyMusic in pro.lua
Snusmumriken
В таблицу elem передаётся метатаблица с __index = element. Всё в порядке.

И ты чот всё заспамил картинками.

Вот только тут есть фигня, что если ты вызовешь elem:new_elem(...), то создастся образец elem с метатаблицей __index = elem, что не есть хорошо, поэтому не вызывай эту функцию у elem'ов, только у element'а.
источник

S

Snusmumriken in pro.lua
Ты убрал создание новых объектов, они потеряли связи с родительской таблицей с функциями.
источник

A

Ameliance SkyMusic in pro.lua
Snusmumriken
Ты убрал создание новых объектов, они потеряли связи с родительской таблицей с функциями.
так функционально не пойму просто что поменялось
источник

S

Snusmumriken in pro.lua
Связей больше нет. Дети больше не ищут функции у родителей.
источник

S

Snusmumriken in pro.lua
А хотя у тебя второй скрин кривой, не захватил element
источник

S

Snusmumriken in pro.lua
Прости, а что у тебя делает button_create? Он же не возвращает новую табличку-кнопку.
источник

S

Snusmumriken in pro.lua
Он просто добавляет поля таблице Button.
источник

S

Snusmumriken in pro.lua
Ameliance SkyMusic
так функционально не пойму просто что поменялось
Карочи, меня уже плавно начинает задалбывать.

Даю универсальную инструкцию, что делать и что смотреть:

1. Ковырять
2. Проверять что получилось
3. Переходить к пункту 1, до просветления
источник

S

Snusmumriken in pro.lua
Сам вопрос "что изменилось?" — плохой, потому что ты сам должен проверить что изменилось ))
Более-менее неплохой вопрос — "почему оно стало вести себя именно так".
источник

A

Ameliance SkyMusic in pro.lua
Snusmumriken
Карочи, меня уже плавно начинает задалбывать.

Даю универсальную инструкцию, что делать и что смотреть:

1. Ковырять
2. Проверять что получилось
3. Переходить к пункту 1, до просветления
Да, это мой универсальный метод, спасибо)
источник

A

Ameliance SkyMusic in pro.lua
Snusmumriken
А хотя у тебя второй скрин кривой, не захватил element
его там нет
источник

S

Snusmumriken in pro.lua
Вообще?
источник

S

Snusmumriken in pro.lua
Жуть какая
источник

S

Snusmumriken in pro.lua
Тогда у тебя точно нет связей. Кнопка-синглтон, только одна кнопка на весь проект.
источник

S

Snusmumriken in pro.lua
Что ты ещё можешь сделать, так это взять библиотеку типа inspect, и выводить в консоль содержимое таблиц (и даже их метатаблиц): https://github.com/kikito/inspect.lua
источник

A

Ameliance SkyMusic in pro.lua
Snusmumriken
Тогда у тебя точно нет связей. Кнопка-синглтон, только одна кнопка на весь проект.
Ой, извини, я немного не то скинул, я просто адаптировал свой эксперементы под то, что уже скидывал, но кое что упустил... сейчас попробую обновить и показать... мне кажется он делает то, что нужно... минутку
источник

S

Snusmumriken in pro.lua
Очень помогает при проверках "что изменилось"
источник

S

Snusmumriken in pro.lua
Забей, проверь сам ))
источник