Lua非常简单易学。这篇文章会告诉你一点Lua的语法,不会很长。下面通过以下几点介绍Lua语言的基本语法。
1 简介
由clean C实现,需要宿主程序调用,可以注入到C函数中。
2 语法约定
Lua的语法是基于BNF的语法规则。
Lua区分大小写。
2.1 保留关键字
C语言中没有的关键字是:
复制代码如下:
和elseif函数
在零本地not或
重复然后直到
规范:全局变量以下划线开头。
2.2 操作符
在C语言中找不到运算符:
^
~=
//-向下舍入
操作员不在Lua中:
=
-=
2.3 字符串定义
使用转义字符:使用转义字符来表示那些不明确的字符。
字符表示
代表字符a。
97-代表字符a。
\ 049-代表数字字符1。
其他转义字符表示
\ \\n -代表一个字符串\n
\ n-用于换行
请注意,数字字符必须是三位数。其他字符不能超过三个字符。
采用长括号:长括号中的所有内容都被视为普通字符。
[[]]-0级大括号
[==[]=]-二级大括号
3 值与类型
Lua是一种动态语言。变量没有类型,只有值。该值本身携带类型信息。
Lua有八种基本数据类型:nil,boolean,number,string,function,user data,thread,table。
只有零和假导致条件为假,其他为真。
Userdata变量用于存储c数据。Lua只能使用这类数据,不能创建或修改,以保证宿主程序能完全掌握数据。
线程用于实现协程。
表用于实现关联数组。Table允许对任何类型的数据进行索引,还允许将任何类型用作表字段中的值(如上所述
任何类型都不包含nil)。是tablelua中唯一的数据结构。
因为函数也是一个值,所以它可以存储在表中。
function、userdata、thread、table table的值都是对象。这些类型的变量只保存变量的引用,在赋值、参数传递、函数返回等操作过程中不会被任何性质的复制。
库函数type()返回变量的类型描述信息。
3.1 强制转换
Lua提供了数字和字符串之间的自动转换。
您可以使用format函数来控制数字到字符串的转换。
4 变量
有三种类型的变量:全局变量、局部变量和表中的字段。
默认情况下,函数外部的变量是全局变量,除非声明显示为局部变量。默认情况下,函数的内部变量和参数是局部变量。
局部变量的范围是从声明位置到语句块的末尾(或者直到下一个同名局部变量的声明)。
变量的默认值为零。
复制代码如下:
A=5 -全局变量
b=5-局部变量
函数笑话()
C=5 -局部变量
局部=6-局部变量
结束
打印(c,d) -零零
做
局部a=6 -局部变量
B=6 -全局变量
打印(a,b);- 6 6
结束
打印(a,b) - 5 6
方便,-表示前面表达式的结果。
4.1 索引
使用方括号[]作为表的索引。Lua使用语法糖来提供。操作。
t[i]
T.i -索引为字符串类型时的简化书写方法。
Gettable _ event (t,I)-索引访问本质上就是这样的函数调用。
4.2 环境表
所有的全局变量都放在一个环境表中,这个表的变量名是_env。对全局变量A的访问是_env.a (_env_ is只是为了方便解释)。
每个函数都将对环境表的引用作为一个变量,该环境表包含该函数可以调用的所有变量。
子函数从父函数继承环境表。
可以通过getfenv/setfenv函数读写环境表。
以上是本文的全部内容。我希望你能喜欢它。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。