Step By Step(Lua基础知识).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Step By Step(Lua基础知识)

一、基础知识: ?? ?1. 第一个程序和函数: ?? ?在目前这个学习阶段,运行Lua程序最好的方式就是通过Lua自带的解释器程序,如: ?? ?/ lua ?? ? print(Hello World) ?? ?Hello World ?? ?这样我们就可以以交互性的方式输入lua代码,并立即得到执行结果了。对于代码块较少的测试程序来说,这种方式确实是非常方便的,然而对于相对复杂的程序而言,这种方式就不是很合适了。如果是这样,我们可以将Lua代码保存到一个独立的Lua程序文件中,之后再通过Lua解释器程序以命令行参数的形式执行文件中的Lua代码。如我们将下面的Lua代码保存到test.lua的文件中: 1 function fact(n) 2 if n == 0 then 3 return 1 4 else 5 return n * fact(n - 1) 6 end 7 end 8 print(Enter a number:) 9 a = io.read(*number) 10 print(fact(a)) ??? / lua D:/test.lua ?? ?Enter a number: ?? ?4 ?? ?24 ?? ?2. 代码规范: ?? ?1). Lua的多条语句之间并不要求任何分隔符,如C语言的分号(;),其中换行符也同样不能起到语句分隔的作用。因此下面的写法均是合法的。如: 1 a = 1 2 b = a * 2 3 4 a = 1; 5 b = a * 2; 6 7 a = 1; b = a * 2; 8 a = 1 b = a * 2 ??? 2). 通过dofile()方法引用其他Lua文件中的函数,如: 1 function fact(n) 2 if n == 0 then 3 return 1 4 else 5 return n * fact(n - 1) 6 end 7 end ??? 将上面的函数保存到test2.lua文件中。 ?? ?/ lua ?? ? dofile(d:/test2.lua) ?? ? print(fact(4)) ?? ?24 ?? ?3). 词法规范。 ?? ?和大多数其它语言一样,在声明变量时,变量名可以由任意字母、数字和下划线构成,但是不能以数字开头。在Lua中还有一个特殊的规则,即以下划线(_)开头,后面紧随多个大写字母(_VERSION),这些变量一般被Lua保留并用于特殊用途,因此我们在声明变量时需要尽量避免这样的声明方式,以免给后期的维护带来不必要的麻烦。 ?? ?Lua是大小写敏感的,因此对于一些Lua保留关键字的使用要特别小心,如and。但是And和AND则不是Lua的保留字。 ?? ?4). Lua中的注释分为两种,一种是单行注释,如: ?? ?--This is a single line comment. ?? ?另外一种是多行注释,如: ?? ?--[[ ?? ?This is a multi-lines comment. ?? ?--]] ?? ?3. 全局变量: ?? ?在Lua中全局变量不需要声明,直接赋值即可。如果直接访问未初始化的全局变量,Lua也不会报错,直接返回nil。如果不想再使用该全局变量,可直接将其置为nil。如: ?? ?/ lua ?? ? print(b) ?? ?nil ?? ? b = 10 ?? ? print(b) ?? ?10 ?? ? b = nil ?? ? print(b) ?? ?nil ?? ? ?? ?4. 解释器程序: ?? ?命令行用法如下: ?? ?lua [options] [lua-script [arguments] ] ?? ?该工具的命令行选项主要有以下3个: ?? ?-e: 可以直接执行命令行中Lua代码,如:lua -e print(\Hello World\) ?? ?-l: 加载该选项后的Lua库文件,如:lua -l mylib -e x = 10,该命令在执行之前先将mylib中的Lua代码加载到内存中,在后面的命令中就可以直接使用该文件中定义的Lua函数了。 ?? ?-i: 在执行完指定的Lua程序文件之后,并不退出解释器程序,而是直接进入该程序的交互模式。??? ?? ?在解释器程序的交互模式下,我们可以通过在表达式前加等号(=)标识符的方式直接输出表达式的执行结果。通过该方式,我们可以将该程序用于计算器,如: ?? ?/ lua ?? ? = 3 + 1 + 4 ?? ?8 ?? ?该小节

文档评论(0)

wuyuetian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档