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

cocos2dx lua的require、读取和执行顺序,第1张

概述今天就来研究一下,lua中的全局函数(function a()),本地函数(local function aa()),和require的功能(lua模块化和执行顺序),了解了这个,基本上lua程序上就很小心的写代码了 1、  首先lua的读取执行,是按照顺序来的 假如说一个函数先执行,在后面才定义,这是错误的,是会报错的,就如下图所示,这样写是错误的,不论是全局,还是本地函数,如果程序没有事先读取

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

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

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


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



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


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

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



修正方法如下图:




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

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

如图是正确的:

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

总结

以上是内存溢出为你收集整理的cocos2dx lua的require、读取和执行顺序全部内容,希望文章能够帮你解决cocos2dx lua的require、读取和执行顺序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1052111.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存