hanlinjiang 发表于 2019-7-5 02:15:38

mush问题,求解答。在线等

function test()
        local tab = {"north", "south", "east", "west"}
        for k, v in pairs(tab) do
                if v == "north" then
                        print("north")
                else
                        print("不存在")
                end
        end
end

这样写下来,打印出来的结果是
north
不存在
不存在
不存在

请问我怎么样才可以达到if下的条件呢 满足的时候 输出north 不满足的时候输出 不存在呢?

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

non 发表于 2019-7-5 08:44:38

这不是写的挺对

kkena 发表于 2019-7-5 10:15:32

回复 1# hanlinjiang


    如果想遍历整个tab就把else去掉

function test()
      local tab = {"north", "south", "east", "west"}
      for k, v in pairs(tab) do
                if v == "north" then
                        print("north")
                end
      end
end

如果找到目标就退出循环

function test()
      local tab = {"north", "south", "east", "west","north"}
      for k, v in pairs(tab) do
                if v == "north" then
                        print("north")
                  return
                end
      end
end

hanlinjiang 发表于 2019-7-5 10:59:45

回复 3# kkena


    可是那如果没有找到目标的执行,应该怎么写

creat 发表于 2019-7-5 12:43:55

function test()
        local tab = {"north", "south", "east", "west"}
        for k, v in pairs(tab) do
                if v ...
hanlinjiang 发表于 2019-7-4 06:15 PM http://www.pkuxkx.com/forum/images/common/back.gif


    这不是和设计意图完全一致么

north    ----v=="north"
不存在    ----v=="south"
不存在    ----v=="east"
不存在    ----v=="west"

kkena 发表于 2019-7-5 14:12:25

回复 4# hanlinjiang


function test()
      local tab = { "south", "east", "west"}
      for k, v in pairs(tab) do
                if v == "north" then
                        print("north")
                  return
                end
      end
      print("没找到")
end

hanlinjiang 发表于 2019-7-5 15:41:16

谢谢 大家 已经得到解决了

suwuji 发表于 2019-7-6 07:48:09

存在是,有那么一个。
不存在是,没有任何一个。
页: [1]
查看完整版本: mush问题,求解答。在线等