waiwai 发表于 2018-1-24 12:59:56

求助 关于 table 查询

local room_id = GetVariable("room_id")
for k,v in ipairs(room) do
    if v.id == room_id then Note("1") else Note("2") end
end

代码是上边这个,目的是想 在ROOM 里查询 room_id 是否存在存在的话 1 不存在 2

但是 执行结果是有ID 会返回一大堆2和一个1没有ID 就返回全是2了

怎么能让他查询到返回1 查询不到返回2呢

求助各位MUSH大神帮忙hzn
最好能写个例子 hz3 不然怕看不懂

另外看到 网上有 这样写 但是不知道怎么套用 求讲解hzk

function is_include(value, tab)
    for k,v in ipairs(tbl) do
      if v == value then
          return true
      end
    end
    return false
end

北大侠客行MUD,中国最好的MUD

foolenough 发表于 2018-1-24 14:21:52

local found = false
local room_id = GetVariable("room_id")
for k,v in ipairs(room) do
    if v.id == room_id then
      found = true
      break --跳出循环
    end
end
if found==true then Note("1") else Note("2") end

waiwai 发表于 2018-1-24 16:23:57

回复 2# foolenough
谢谢研究下先

suwuji 发表于 2018-1-25 08:02:01

function query()
local room_id = GetVariable("room_id")
for k,v in ipairs(room) do
      if v.id == room_id then return 1,Note("1") end
end
return 2,Note("2")
end
页: [1]
查看完整版本: 求助 关于 table 查询