是不是要把T_letter_tbl中所有元素的字母標簽都匹配成?對比hope_letter_tbl中的元素,發現重復就刪除T_letter_tbl中的重復標簽?
壹般來說,用lua很容易做到這壹點,但要註意方法,不要比較,這樣遍歷效率太低。首先,要比較的表的元素被用作建立散列的索引。
直接取元素進行標簽判斷,
下面是演示:table.print用戶自定義輸出,可以刪除,可以選擇自己的輸出方式。
?
功能?表格.打印?(?tbl,?名字?)
名字?=?名字?還是?"表格"
本地的?提示?=?'?'
本地的?我?=?1
本地的?印刷的?=?{}
本地的?功能?tostring2?(?var?)
如果?(類型(?var)?==?“弦”?)?然後
回歸?'"'?..var?..'"'
結束
回歸?tostring(var?)
結束
本地的?功能?itor?(?t?,?我?)
印刷的[?tostring(?t)]?=?真實;
為了什麽?鑰匙?,?ele?在?對子?(t?)?做
如果?不是嗎?(類型(?ele)?==?“桌子”?)?然後
打印(?字符串?。格式化(' %s[%s]?=?“% s;”?,?string.rep(?提示,?我?),?tostring2?(?鑰匙?),tostring2?(ele?))?)
埃爾瑟夫?印刷的?【tostring(?ele)]?然後
打印(?字符串?。格式化(' %s[%s]?=?“% s;”?,?string.rep(?提示,?我?),?tostring2?(?鑰匙?),tostring2?(ele?))?)
其他
打印(?字符串?。格式化(' %s[%s]?=?{'?,?string.rep(?提示,?我?),?tostring2?(?鑰匙?))?)
我?=?我?+?1
itor(?ele,?我)
我?=?我?-?1
打印(?字符串?。格式(' % s };'?,?string.rep(?提示,?我?))?)
結束
結束
結束
打印(?string.format(?" %s?=?{"?,?名字?)?)
itor(?tbl,?我)
打印(" };"?)
結束
-
tbl _信_望?=?{
[1]?=?”bbbbbb”;
[2]?=?“ffffff”;
[3]?=?”cccccc”;
[4]?=?“XXXXXX”;
[5]?=?”eeeeee”;
};
tbl_letter_T?=?{
[1]?=?{["信"]?=?“Y”};
[2]?=?{["信"]?=?" M " };
[3]?=?{["信"]?=?“P”};
[4]?=?{["信"]?=?“K”};
[5]?=?{["信"]?=?" bbbbbb " };
[6]?=?{["信"]?=?" R " };
[7]?=?{["信"]?=?“Q”};
[8]?=?{["信"]?=?“XXXXXX”};
[9]?=?{["信"]?=?“L”};
[10]?=?{["信"]?=?" D " };
[11]?=?{["信"]?=?“B”};
[12]?=?{["信"]?=?" ffffff " };
[13]?=?{["信"]?=?“Z”};
[14]?=?{["信"]?=?“T”};
[15]?=?{["信"]?=?"["};
[16]?=?{["信"]?=?“cccccc”};
[17]?=?{["信"]?=?“E”};
[18]?=?{["信"]?=?" C " };
[19]?=?{["信"]?=?“W”};
[20]?=?{["信"]?=?“我”};
[21]?=?{["信"]?=?“F”};
[22]?=?{["信"]?=?“eeeeee”};
[23]?=?{["信"]?=?“O”};
[24]?=?{["信"]?=?" X " };
[25]?=?{["信"]?=?“U”};
[26]?=?{["信"]?=?" S " };
};
- ?根據?tbl _信_望?元素在?移除?tbl_letter_T?元素在
- ?
本地的?功能?主要?()
本地的?tbl_erase?=?{}
為了什麽?關鍵,?ele?在?pairs(tbl_letter_HOPE)?做
- ?不考慮?元素重量是多少?改成?=?真實的
tbl_erase[tostring(ele)]?=?(tbl_erase[tostring(ele)]?還是?0)?+?1?
結束
為了什麽?關鍵,?ele?在?pairs(tbl_letter_T)?做
如果?tbl_erase[ele.letter]?然後
- ?移除?整條線?[12]?=?{["信"]?=?" ffffff " };
tbl_letter_T[key]?=?無
- ?還是?壹個標簽?信
- tbl_letter_T[key]。信?=?無
結束
結束
表格.打印(tbl_letter_T)
結束
開始時間?=?os.time()
主()
打印(?string . format(" & gt;& gt?這個?功能?成本:?%s?“,,女士?tostring(os.time()-startTime)?)?)附上
如果您只想在刪除給定元素後獲取表
可以先復制原tbl_letter_T。
註意:
不要輕易抄襲自己之前的代碼。也許妳只是想復制壹份TBL的信
但是使用淺層復制呢?這相當於只將句柄復制到表中。
tbl_Interim?=?tbl_letter_T -?兩個變量指向同壹個?需要使用表格表格
為了什麽?關鍵,?ele?在?pairs(tbl_letter_T)?做
tbl_Interim?【關鍵】?=?ele
結束