lua 语法笔记

1、脚本

创建文件:HelloWorld.lua,内容如下:

print(“Hello World!”)

执行脚本:lua HelloWorld.lua

2、注释

单行注释(两个减号):

– 注释

多行注释:

–[[
多行注释
多行注释
–]]

3、变量

  • 变量不需要事先申明
  • 变量默认为全局变量,若在赋值时,指定了 local,则为局部变量:

    local b = 5

  • 删除变量,只需将变量赋值为nil:

    b = nil

4、数据类型:table

索引访问:

t[i]
t.i                 当索引为字符串类型时的一种简化写法
gettable_event(t,i) 采用索引访问,本质上是一个类似这样的函数调用

例:

site = {}
site["key"] = "www.runoob.com"

print(site["key"])
print(site.key)

5、循环

1、

while(condition)
do
   statements
end

2、

for var=exp1,exp2,exp3 do  
    <执行体>  
end  

var 从 exp1 变化到 exp2,exp3 为 var 每次递增步长,可选,如果不指定,默认为1。

例:

for i=1,f(x) do
    print(i)
end

3、

repeat
   statements
until( condition )

6、流程控制

if( 布尔表达式 1)
then
   -- 语句 1

elseif( 布尔表达式 2)
then
   -- 语句 2

elseif( 布尔表达式 3)
then
   -- 语句 3
else 
   -- 语句 4
end

7、函数

[local] function 函数名(参数1, 参数2, ..., 参数n)
	函数体
	return [value_1, value_2, ..., value_n]
end

注:

  • 默认为全局函数,若指定了 local,则为局部函数。
  • 可变参数:…,例:function add(…) 。在函数内部使用 select("#",…) :返回可变参数的长度,select(n, …):返回第n个可变参数的值(n从1开始)。

8、运算符

算数关系运算符:

  • ^ ,乘幂,如:A^2;
  • -,负号,如:-A

关系运算符:

  • ~=,不等于。

逻辑运算符:

  • and;
  • or;
  • not。

其他运算符:

  • …,连接两个字符串,如:a 为 "Hello ",b 为 “World”,则 a…b 输出结果为 “Hello World”;
  • #,返回字符串或表的长度,如:#“Hello” 返回 5。

9、数组 与 table

array = {“Lua”, “Tutorial”}

mytable = {“wow”:“修改后”, }

10、模块

加载模块:
require “<模块名>”

发布了112 篇原创文章 · 获赞 22 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/u010601662/article/details/105533295