lua基础003

递归与迭代

自己调用自己.递归

程序调用自身的编程技巧称为递归,是函数自己调用自己,一个函数在其定义中直接或间接调用自身的一种方法,它通常把一个大型的复杂的问题转化为一个与原问题相似的规模较小的问题来解决,可以极大的减少代码量

迭代

让程序对一组指令进行重复执行,在每次执行这组指令时,都从变量原值推出它的一个新值.迭代是对某个变量的重复推算,而递归是自身对自身的调用

print("------------rawget--------------------------------------------")
a={4,7,9}
bb=rawget(a,3)
print(  rawget(a,2).."   "..bb.."rawget(表,键)   获取表中指定的键对应的值,当表不存在时返回nil")
bbv={'a','s','a'}
print(rawget(bbv,2));

print("------------rawequal--------得出两个数是否相同------------------------------------")  
print(rawequal(2,2))


print("------------dofile--------打开并且执行一个lua程序块------------------------------------")   
    dofile("G:/06_uLua&Lua/LuaEditor3.lua");

print("--------------------------next(表,键)--允许程序遍历表中的每一个字段,返回下一个键和该键对应的值")
nextBB={1,6,49}
print(next(nextBB,2))--"...返回结果是349,返回键3 值49"   

print("-------------------------require(文件名)--作用,搜索目录加载文件,并判断是否文件已经加载避免重复加载同一文件")   
require("G:/06_uLua&Lua/LuaEditor3.lua")
print("haha");

print(math.ceil(5.8));--6--不小于x的最大整数
print(math.ceil(5.4));--6

print(math.floor(5.8));-- 5 --不大于x的最大的整数
print(math.floor(5.4));--5

print(math.fmod(10,4));--2 取模,也就是余数,%

print(math.max(0,10,2,122,105));---122 取最大值,参数不限
print(math.min(1,10,111,15,17));--1

print(math.randomseed(os.time()))
print(math.random(-5,5))

tb={55,77,76,636,365}
print(table.concat(tb,",",2,3).."  作用:返回参数中表内从开始下标到结束下标中的所有数组部分,并用分隔符隔开.");



tb2={55,66,789}
table.insert(tb2,2,111);--table的增加,for的用法,table的长度(#tab2)
for  i=1,table.maxn(tb2) ,1 do
print("insert.."..tb2[i]);
end

table.remove(tb2,3);
for  i=1,table.maxn(tb2) ,1 do
print("remove  "..tb2[i]);
end

sortFunc=function(a,b)
 return b<a 
end
table.sort(tb2,sortFunc)
for  i=1,table.maxn(tb2) ,1 do
print("sort  从大到小排序."..tb2[i]);
end

print("---------------字符串---------------------");
print(string.len("abckd"));--5
print(string.rep("abck",2));--abckabck,也就是复制
print(string.lower("bcDdF"));--bcddf,全部小写
print(string.upper("abCDF"));--ABCDF全部大写
print(string.sub("abcd",2));--bcd截取字符串
print(string.sub("abcdef",-2));--ef截取最后两个
print(string.sub("abcdef",2,5))--bcde--从第二个到最5个(从1开始数)

print(string.byte("abcD",4));--68返回字符ascii
print(string.char(96,98,99,100));--`bcd ascii返回字符串

print(string.gsub("a1","a1","cfff"));--cfff1,为何多了一个1
print(string.gsub("aaaaa","a","Z",3));--ZZZaa3,多了一个3,则是替换了几个

print(string.find("cdc0dc1d","cd"));

print(string.format("send%cSi",101))--sendeSi   %c,101  e的ascii码是100 
print(string.format("send%dSi",110))--send110Si %d就是加出来的
print(string.format("send%05dSi",11))--send00011Si %05d就是要有5个位置来替换,不足则以0代替
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值