--string.gmatch(str, pattern) 回一个迭代器函数,每一次调用这个函数,返回一个在字符串 str 找到的下一个符合 pattern 描述的子串 for world instring.gmatch("Hi hello world","%a+") do print(world) end --[[ 结果 Hi hello world --]]
--string.match(str, pattern, init)只寻找源字串str中的第一个配对. 参数init可选, 指定搜寻过程的起点, 默认为1。 print(string.match("I have 2 questions for you.", "%d+ %a+")) --2 questions
Lua数组
一维数组
Lua中数组索引从1开始
1 2 3 4
array = {"hello","world"} for i=0,2do print(array[i]) end
结果:
1 2 3
nil hello world
可以以负数作为数组的索引:
1 2 3 4
array = {} for i = -1,2do array[i] = i end
多维数组
1 2 3 4 5 6 7
local array = {} for i = 1,3do array[i] = {} for j = 1,3do array[i][j] = i * j end end
function(collection) local index = 0 local count = #collection -- 闭包函数 returnfunction() index = index + 1 if index <= count then -- 返回迭代器的当前元素 return collection[index] end end end
for element in elementIterator(array) do print(element) end