S
color", а ты такой пишешь "Color" и оно автоматически не ругается на это.Ну и чел ругается на отсутствие типизации, которая как бы есть в typescript.
И это исправляется в луа кастомной реализацией классов с перегруженным
__newindex.Size: a a a
S
color", а ты такой пишешь "Color" и оно автоматически не ругается на это.__newindex.A
КН
AS
S
this, который все подряд переделывают в self чтобы хоть как-то определиться)S
AS
this, который все подряд переделывают в self чтобы хоть как-то определиться)S
S
local ClassFoo = {}
ClassFoo.__index = ClassFoo
function ClassFoo:new(x, y)
self = setmetatable({}, self)
self.x, self.y = x, y
return self
end
Уже конкретная реализация ООП через метатаблицы. Можно сделать иначе (например, без метатаблиц), и даже кардинально по другому (перегруженные __index/__newindex, которые следят за текущим скоупом, приватными/виртуальными полями и множественными родителями). Конкретного стандарта нет, фичи разных реализаций различаются, что хочешь — то и впиливай, балансируя скорость и фичеватость. Можно даже реализовать без прототипов : )Class, предоставляющее конкретную реализацию ооп на прототипах. Ну и можно нагенерить классов из функций/объектов. Это уже считается deprecated-кастомщиной, и кардинально изменить поведение нельзя.КН
AG
AG
S
S
AS
AS
AG
AS
S
T