一、hello word
程序:
print("hello lua!")
print("hello world!")
--"这是行注释"
--[[
"这是多行注释"
print("这条语句打印不出来")
--]]
运行结果:
Lua中的注释表示如下:
--单行注释
--[[
多行注释
多行注释
--]]
三、关键字
以下为Lua中的关键字,跟C语言中的差不多,保留关键字不能作为常量或变量或其他用户自定义标示符。一般约定,以下划线开头连接一串大写字母的名字(比如 _VERSION)被保留用于 Lua 内部全局变量。
二、数据类型
1.基本知识
Lua 是动态类型语言,变量不要类型定义,只需要为变量赋值。 值可以存储在变量中,作为参数传递或结果返回。
Lua 中有 8 个基本类型分别为:nil、boolean、number、string、userdata、function、thread 和 table。
2.示例说明
可以用函数type来查看变量的类型
a="abc"
b='p'
c=10
d=true
e=nil
f="nil"
print(type(a)) --string
print(type(b)) --string
print(type(c)) --number
print(type(d)) --boolean
print(type(e)) --nil
print(type(f)) --string
print(type(type(a)))--string,type()函数返回值是string类型
print(type(type)) --function
运行结果:
要注意nil和"nil",前者是数据类型,表示无效数据,后者带双引号,代表字符串。Lua中对于字符串来说,用单引号 ''或者双引号""都可以。
三、变量
1.基本知识
Lua语言对大小写敏感。
(1)变量在使用前,需要在代码中进行声明,即创建该变量。
(2)编译程序执行代码之前编译器需要知道如何给语句变量开辟存储区,用于存储变量的值。
(3)Lua 变量有三种类型:全局变量、局部变量、表中的域。
(4)Lua 中的变量全是全局变量,哪怕是语句块或是函数里,除非用 local 显式声明为局部变量。
(5)局部变量的作用域为从声明位置开始到所在语句块结束。
(6)变量的默认值均为 nil。如果想要删除一个全局变量,只需要将变量值赋值为nil即可。
如下图,不存在的变量打出来是nil
2.示例演示
print(a);--没有对a赋值,打印出来的是nil
a = 10 --全局变量
local b=20 --局部变量,赋值和Shell略有不同,等号前后有没有空格都不影响
print(a,b) --打印出来是10,20
function fun() --fun函数
a=30 --将全局变量a赋值成30
b=40 --将全局变量b赋值成40
c=50 --全局变量c赋值成50
local d=60--局部变量d赋值成60
end
fun()--调用fun函数
print(a,b,c,d) --a,b,c都是全局变量,打印出来是30 40 50
--由于d是局部变量,作用域在fun函数内,所以这里打印nil
运行结果:
对于Shell和Lua来说,对于变量有没有定义来说,其实就是说对变量有没有赋值,有没有携带有效值。