我正在尝试在 Lua 中实现具有继承的类。此外,在创建新对象时,需要进行某种“类型检查”。
一个特殊的要求是使用特定的语法来创建一个类(示例):
Class({Volkswagen, Vehicle, model=String, speed=Number, driving=Boolean})
请注意,参数作为可变长度的列表传递。所以我需要一个函数来获取任意数量的参数:
function Class (arguments)
name = arguments[1]
superclass = arguments[2]
...
end
前两个参数是类的名称和继承它的类的名称。
我确信解决方案很简单,但我完全不知道如何处理属性的键值对,例如......
print(arguments.model)
print(type(arguments.model))
...都是零。有什么想法可以获取属性的类型(字符串、布尔值、数字)吗?