怎样比较2个table的值是否相同
星宿新手任务推木头,我是根据每个房间出口不同触发的,可是出口顺序每次重启都会变动,所以想搞个一次性解决的方法。我把路口转成数组后,不会比较了。
aa = {"east","south"}
lukou = {{"south","east"},{"north"}}
怎么得出aa == lukou啊。
北大侠客行MUD,中国最好的MUD 本帖最后由 tianheng 于 2013-8-22 11:44 AM 编辑
没有测试的,不知道是否能满足
function tableCompare(tab1, tab2)
local rs = false
if #tab1 == #tab2 then
for k, v in ipairs(tab1) do
for _k, _v in ipairs(tab2) do
if v == _v then
table.remove(tab2, _k)
end
end
end
if tab2 == nil or #tab2 == 0 then
rs = true
end
end
return rs
end 测试应该是没有问题的,再发一个
function _tableCompare(tab1, tab2)
local rs = false
if #tab1 == #tab2 then
table.sort(tab1)
table.sort(tab2)
local s1 = table.concat(tab1, ",")
local s2 = table.concat(tab2, ",")
rs = s1 == s2
end
return rs
end
谢谢,我试一试,不是学这个的,只能写一点简单的,每次写点东西要调半天hze 回复 4# tianheng
哪个效率高? 没有测试,个人推荐第二个吗,起码简单些 星宿新手任务我自己测试做机器人时候有非常简单的解决方法,根本没必要对比table这么复杂的。 推荐暴力走法,例如向北N步,向东N步(N大于地图房间数),这样就可以保证你无论从哪出发都可以走到最东北角,再走回正常出口即可 暴力流+1,星宿新手任务全自动机器是最简单的
页:
[1]