首页 > 解决方案 > 什么是 Lua 等价于 python 的“in”语句?

问题描述

Lua是否有任何与python的“in”语句等效的语句?

例子:

if "word" in variable:

标签: pythonlua

解决方案


Lua 没有 Python 的in操作符等价物,但是如果您知道要模拟的容器类型,则很容易为其编写函数。

str

true参数确保子字符串按字面意思处理,而不是作为模式处理。详情请参阅string.find

local function inString(s, substring)
  return s:find(substring, 1, true)
end

list

local function inArray(array, x)
  for _, v in ipairs(array) do
    if v == x then
      return true
    end
  end
  return false
end

dict

local function inKeys(t, k)
  return t[k] ~= nil
end

推荐阅读