记录Lua版本变更修改变化和Lua的一些小知识及技巧

本文记录了Lua从5.1到5.2版本的变化,包括require不再定义全局变量,math和table函数的变动,以及pairs与ipairs的区别。还介绍了luaconf.h配置文件的重要性和loadstring、require、dofile的使用差异。此外,讨论了table.concat方法用于数组的拼接,并强调了loadstring执行字符串代码时全局环境的要求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PS:随时记录遇到的小知识和版本变化

1、5.2 版本之后,require 不再定义全局变量,需要保存其返回值 eg:require "XXX.Test" 改成 Test = require "XXX.Test"

2、5.1版本之后math.mod 被math.fmod替换,string.gfind被 string.gmatch替换,table.getn被 ‘#’替换,loadlib被package.loadlib替换,旧版函数是否还可以使用,需要查看当前使用的Lua版本文件luaconf.h(5.1之后才有)中是否有兼容

3、5.1版本之后table.setn、table.foreach、table.foreachi被舍弃了

4、5.1版本之后string.gsub当第三个参数是函数时,如果这个函数返回nil或false,替代会是整个字符串,而不是返回一个空字符串。require获取包路径改为 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值