1
私は、時間、日、週、月、年、レベル、クラス、および層ごとにレポートする情報を収集する、追跡データベースを作成しています。このように、テーブルのサブセットで構成されたtracker
というテーブルがあり、異なるレポート(つまり、table["ThisHour"]
など)が反映されています。本当に同じ情報を追加しているこれらすべての行を統合する方法があるのだろうかと思います。Lua:同じ情報を複数のサブテーブルに追加する方が簡単ですか?
function exp_update(xp, gold, str, con, dex, wis, int, luck, bpracs, btrains, pracs, trains, qp)
local xtable = tracker[playername]["Exp"]
addto(xtable["ThisHour"],"Exp",xp)
addto(xtable["ThisHour"],"Gold",gold)
addto(xtable["ThisHour"],"BonusStr",str)
addto(xtable["ThisHour"],"BonusCon",con)
addto(xtable["ThisHour"],"BonusDex",dex)
addto(xtable["ThisHour"],"BonusWis",wis)
addto(xtable["ThisHour"],"BonusInt",int)
addto(xtable["ThisHour"],"BonusLuck",luck)
addto(xtable["ThisHour"],"BonusPracs",bpracs)
addto(xtable["ThisHour"],"BonusTrains",btrains)
addto(xtable["ThisHour"],"Pracs",pracs)
addto(xtable["ThisHour"],"Trains",trains)
addto(xtable["ThisHour"],"Qp",qp)
addto(xtable["ThisHour"],"Quests")
addto(xtable["ThisLevel"],"Exp",xp)
addto(xtable["ThisLevel"],"Gold",gold)
addto(xtable["ThisLevel"],"BonusStr",str)
addto(xtable["ThisLevel"],"BonusCon",con)
addto(xtable["ThisLevel"],"BonusDex",dex)
addto(xtable["ThisLevel"],"BonusWis",wis)
addto(xtable["ThisLevel"],"BonusInt",int)
addto(xtable["ThisLevel"],"BonusLuck",luck)
addto(xtable["ThisLevel"],"BonusPracs",bpracs)
addto(xtable["ThisLevel"],"BonusTrains",btrains)
addto(xtable["ThisLevel"],"Pracs",pracs)
addto(xtable["ThisLevel"],"Trains",trains)
addto(xtable["ThisLevel"],"Qp",qp)
addto(xtable["ThisLevel"],"Quests")
end
あなたが見ることができるように、それはちょうど2つのサブテーブルの行のかなりの数はすでにです:ここで私はちょうど2つのサブテーブル(代わりの8 Iは、上記している)と一緒に、使用している機能です。これは、各サブテーブルのコード行が14行であるか、またはそれらをすべて入れた場合、できるだけ統合したくない112行のコード行です。定義は、場合にあなたがそれを必要と
ADDTO機能は次のとおりです。
function addto(t,k,v)
t[k] = t[k] + (v or 1)
end
私が探していたまさに。ありがとう! – Josh