~= nil, foo.somefunc... равен nil. шо за незадача, как ее решить-то, как сделать нормальное наследование?
через __index? а если она уже определена в bar? если обернуть ее в другую функцию, а ее уже поместить вместо __index, получится жирный костыль с одним недостатком на выбор:
1. если первым проверяется поле self, а затем вызывается __index метатаблицы, некоторые индексы могут быть недоступны
2. если первый - __index метатаблицы, может потеряться перф (например, если метатаблица - класс структуры данных)
__index надо использовать, да
Обсуждают сегодня