1
시간, 일별, 주별, 월별, 연도 별, 수준별, 클래스 별, 계층별로보고 할 정보를 수집하는 추적 데이터베이스를 만듭니다. 따라서 다른 보고서 (예 : table["ThisHour"]
등)를 반영하는 표의 하위 집합으로 구성된 tracker
이라는 표가 있습니다. 나는 정말로 똑같은 정보를 추가하고있는 모든 라인을 통합하는 방법이 있는지 궁금합니다.루아 : 동일한 정보를 여러 서브 테이블에 추가하는 것이 더 쉬운 방법일까요?
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
당신이 볼 수 있듯이, 그 두 서브 테이블에 대한 행 확실히 다수가 이미 : 여기에 내가 두 서브 테이블 (대신 8 내가 위에 열거 한)와 함께 사용하고 기능입니다. 그것은 각 하위 테이블에 대해 14 줄의 코드입니다. 또는 모든 코드를 넣으면 112 줄의 코드를 가능한 한 적게 통합하고 싶습니다.
function addto(t,k,v)
t[k] = t[k] + (v or 1)
end
을 내가 찾던 정확히 무엇을
addto 기능은 경우에 당신이 그것을 필요로 정의 같다. 감사! – Josh