lua 两个table如何对比。
如 a = {"你", "是", "好", "人"}b = {"你", "是", "人"}如何可以对比两个数组 并且明确的知道b 想对比 a 少了个“是”
如果是b比a少两个元素 又应该如何知道少的是什么
北大侠客行MUD,中国最好的MUD 或者有其他思路也可以。 看programming in Lua
有例子
像你这种默认key的,两个for循环就行 两个集有很多情况的,不交,相交,包含。 本例只适用于table元素为字符串的形式:
function simTableIndex(str,list) -----比较table中元素是否包含str
for i,value in pairs(list)do
if (value==str) then
return i
end
end
return -1
end
function table_is_contain(father_list,child_list)
----说明:比较两个表是否fathter_list包含child_list。
local result=-1
for i,value in pairs(child_list) do
result=simTableIndex(value,father_list)
-----print("result2 ",result)
if result==-1 then return false end
end
return true
end
function table_is_equal(list1,list2)
----说明:比较两个表是否相等。
local result=-1
for i,value in pairs(list1) do
result=simTableIndex(value,list2)
----print("result1 ",result)
if result==-1 then return false end
end
----------------------
for i,value in pairs(list2) do
result=simTableIndex(value,list1)
-----print("result2 ",result)
if result==-1 then return false end
end
return true
---------------------------
end
页:
[1]