北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 4877|回复: 3

求助 关于 table 查询

[复制链接]
发表于 2018-1-24 12:59:56 | 显示全部楼层 |阅读模式
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大神帮忙  
最好能写个例子 不然怕看不懂

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

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
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 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
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2018-1-24 16:23:57 | 显示全部楼层
回复 2# foolenough
谢谢  研究下先
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 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
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-24 12:11 PM , Processed in 0.010820 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表