同:都是能遍历集合(表、数组)

异:ipairs 仅仅遍历值,按照索引升序遍历,索引中断停止遍历。即不能返回 nil,只能返回数字 0,如果遇到 nil 则退出。它只能遍历到集合中出现的第一个不是整数的 key。

pairs 能遍历集合的所有元素。即 pairs 可以遍历集合中所有的 key,并且除了迭代器本身以及遍历表本身还可以返回 nil

例子

local tabFiles = {
[] = "test2",
[] = "test3",
[] = "test1"
} for k, v in ipairs(tabFiles) do --输出"test2",在key等于2处断开
print(k, v)
end

例子

local tabFiles = {
[] = "test2",
[] = "test3",
[] = "test1"
} for k, v in ipairs(tabFiles) do --[[什么都没输出,为什么?因为控制变量初始值是按升序来遍历的,当key为1时,value为nil,此时便停止了遍历, 所有什么结果都没输出]]--
print(k, v)
end

例子

local tabFiles = {
[] = "test2",
[] = "test3",
[] = "test1"
} for k, v in pairs(tabFiles) do --输出2 test2, test3, test1
print(k, v)
end

例子

local tabFiles = {"alpha", "beta", [] = "no", ["two"] = "yes"}  for i,v in ipairs(tabFiles ) do    --输出前三个   备注:因为第四个key不是整数
print( tabFiles [i] )
end for i,v in pairs(tabFiles ) do --全部输出
print( tabFiles [i] )
end

字符串分割函数

function split(str,delimiter)
local dLen = string.len(delimiter)
local newDeli = ''
for i=,dLen, do
newDeli = newDeli .. "["..string.sub(delimiter,i,i).."]"
end local locaStart,locaEnd = string.find(str,newDeli)
local arr = {}
local n =
while locaStart ~= nil
do
if locaStart> then
arr[n] = string.sub(str,,locaStart-)
n = n +
end str = string.sub(str,locaEnd+,string.len(str))
locaStart,locaEnd = string.find(str,newDeli)
end
if str ~= nil then
arr[n] = str
end
return arr
end
t = split("php,js", ",")
for k, v in pairs(t) do
print(k, v)
end

输出

php
js

最新文章

  1. 【转载】ReactiveX 的理念和特点
  2. Bootstrap CSS 栅格、代码和表格
  3. 第二周:If判断语句程序当中的作用简介
  4. SQL Pass北京举行2014年第一次线下活动
  5. angularjs学习笔记—工具方法
  6. 使用Redux管理你的React应用
  7. 51nod 1134 最长递增子序列
  8. Wormholes(Bellman-ford)
  9. flex 4 Filters
  10. Codeforces Round #275 (Div. 2)
  11. java画图输出到磁盘
  12. 如何使用Instruments诊断App(Swift版):起步-b
  13. djangoPOST请求403 forbidden
  14. Eclipse 快捷键整理
  15. java导出数据Excel总结
  16. Android中的Fragment页面切换和selector选择器
  17. 在Tomcat中采用基于表单的安全验证
  18. asp.net core 发布centos 7 遇到的坑
  19. getString与optString的区别
  20. window.location各属性的值

热门文章

  1. iOS 8 新特性介绍
  2. spfile与pfile
  3. mysql登录密码特殊字符处理
  4. mysql db imported into mongodb
  5. talib 中文文档(十四):Math Transform Functions 数学变换
  6. 针对Redis队列的理解,实例操作(转)
  7. oracle 安装,登陆,配置
  8. CentOS7下的YUM源服务器搭建详解,过程写的很详细(转)
  9. testng日志和报告
  10. Django小项目简单BBS论坛