cocos2dx lua的require、读取和执行顺序

今天就来研究一下,lua中的全局函数(function a()),本地函数(local function aa()),和require的功能(lua模块化和执行顺序),了解了这个,基本上lua程序上就很小心的写代码了

1、  首先lua的读取执行,是按照顺序来的

假如说一个函数先执行,在后面才定义,这是错误的,是会报错的,就如下图所示,这样写是错误的,不论是全局,还是本地函数,如果程序没有事先读取,就去运行,这样是会报错的


修正方法:如下图,这样写,才正确



2、 如果有文件先用这个require "src/helper",事先执行了,那么这个helper.lua文件里面的变量和函数(全局函数or本地函数【本地函数只在本地文件中执行,只在同一模块中执行,其他模块都不能执行】)都已经被读取在程序中了


3、  来看看local这个本地的标志,如果有这个标志的,就只能限定在这个文件里面才能使用,如果是函数内部定义的,也就只限定在函数内部才能使用

如下图的做法是不行的,本地函数严格有限



修正方法如下图:




但是如果是全局函数or全局变量,就必须先让程序去执行和读取,才能使用,然后在别的文件上调用这个全局函数的话,才能执行下去,

 

如果是先执行这个全局函数,然后在后面才来定义,这样就颠倒了顺序了,(全局要了解定义函数,和执行函数的概念,肯定是先定义函数,然后才来执行,这样才有效果,否则会报错)

如图是正确的:

下面做法,是先让程序知道有这个全局定义函数,然后执行的时候,就知道有定义了,才能执行下去









评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值