Luaで継承のあるクラスを実装しようとしています。さらに、新しいオブジェクトを作成するときは、ある種の「型チェック」が必要です。
特定の要件の 1 つは、クラスを作成するために特定の構文を使用することです (例)。
Class({Volkswagen, Vehicle, model=String, speed=Number, driving=Boolean})
パラメータは可変長のリストとして渡されることに注意してください。したがって、任意の数の引数を取得する関数が必要です。
function Class (arguments)
name = arguments[1]
superclass = arguments[2]
...
end
最初の 2 つの引数は、クラスの名前と継承元のクラスの名前です。
解決策は簡単だと思いますが、属性のキーと値のペアを処理する方法がまったくわかりません。たとえば...
print(arguments.model)
print(type(arguments.model))
...どちらもゼロです。属性のタイプ (文字列、ブール値、数値) を取得する方法はありますか?