Lua的学习-3

一、Lua的基本语法

1、赋值语句

Lua是一种弱类型语言。 赋值给变量string类型,便是string 类型。赋值number类型,便是number类型。

(1)多值赋值

a,b= 10,15,30,4
print("a="..a..",b="..b)  --结果:a=10,b=15 
a,b,c = 10,15
print(c)  --结果:nil
print("a="..a..",b="..b..",c="..c)  --此时c应为nil,但这种输出方式会报错

变量个数<值的个数,后面多余的值会自动忽略;
变量个数>值的个数,按变量个数补足nil;

(2)交换赋值

a,b = b,a
print("a="..a..",b=",b)  -结果a=15,b=10

(3)函数的多返回值赋值

c,d = fun(3,4)
print("a="..a..",b=",b)  --结果a=6,b=8

function fun(a,b)
    return a+3,b*2
 end

二、局域变量和代码块

a,b = fun(3,4)
print("a="..a..",b=",b)  --结果a=6,b=8
--在Lua中“local”关键字修饰的变量均为局部变量,只要不带local关键字的均为全局变量,全局变量也可以被别的文件操作。
local a = 3
print(a)  --结果:3 
funa()  

function fun(a,b)
    return a+3,b*2
 end
 
 function funa ()
     print(a)  --结果:a是6
 end

在上面代码块中,我们看到会比较混乱,一般我们会把局部代码块放到
do
end
之间,封装成代码块模式

a,b = 3,4
print("a="..a..",b=",b)  --结果a=6,b=8
do
    local a = 10
    print("内部a="..a) --结果a=10
end
print("外部a="..a)  --结果:3 

三、分支语句

在Lua中分支语句只有 if else;并没有switch case.

a=3
b=5
if  a>b  then
    print(a)
elseif a<b then
    print("a<b")
else
    print("a=b")
end

四、循环语句

while…end 循环
repeat…until 循环 --相当于 do…while
for … end循环

--while ..do 方法是先判断在执行
a,b = 3,9
while a<b do
    print(a)
    a = a+ 1
end

--repeat ..do  方法是先执行再判断,直到满足条件
--结果:3 4 5 6 7 8 
repeat 
   print(a)
   a = a+1
until a>b

--结果:1 3 5 7 8 9   
--此处的“2”代表间隔(step)为2,如果不写,此处默认为1.
for i=1,10,2 do
    print(i)
end

--此种方法的结果同上。
for i=0,funb(),2 do
    print(i)
end
function funb()
    print("调用")
    return 9
end

--此时,在i=3时就会跳出循环 
--结果为 0 1 2 3
for i=0,funb() do
    print(i)
    if i==3 then
        break
    end
end

注意在Lua语言中没有continua
替代方法如下

--结果:1 2 4 5 6 7 8 
for i =1 ,funb() do
    repeat
        if i == 3 then
            break
        end
        print(i)
    until true
end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值