Ruby обладает этой очень интересной функциональностью, в которой при создании класса с помощью Class.new и назначении его константе (в верхнем регистре) язык «волшебным образом» устанавливает имя класса, чтобы оно соответствовало константе.
# This is ruby code
MyRubyClass = Class.new(SuperClass)
puts MyRubyClass.name # "MyRubyClass"
Кажется, что ruby "захватывает" назначение и вставляет задает имя для анонимного класса.
Я хотел бы знать, есть ли способ сделать что-то подобное в Lua.
Я реализовал свою собственную систему классов, но чтобы она работала, мне нужно дважды указать одно и то же имя:
-- This is Lua code
MyLuaClass = class('MyLuaClass', SuperClass)
print(MyLuaClass.name) -- MyLuaClass
Я бы хотел избавиться от этого 'MyLuaClass'
строка.Есть ли способ сделать это в Lua?