Luaでクラス作りで質問です。
obj.keyでインスタンスの値を返してobj.key(Arg)でメソッドを実行するという風にしたいのですが、
setmetatable({key1 = function(Arg) … end, -- メソッド
       key2 = function(Arg) … end,
       ……          ……},
       {__index = function(self,key) -- インスタンス
         if key == key1 then
           ……
           return result
         elseif key == key2 then
           ……
           return result
         …………
         end})

今は上のようにメソッドのテーブルにメタテーブルでインスタンスを返す関数をくっつけて実装しているのですが、
メタテーブルをなくしてメソッドとインスタンスを一つのテーブルにまとめて
すっきりさせたいと思ったのですがそういうことはできないでしょうか?
obj.keyで帰ってきた関数を()で評価するところを、obj.keyで関数を評価して値を返すところまでやりたいということです。