LuaForUnity3:Lua的分支结构、循环结构与数组

一、分支结构与循环结构

如果学过C/C++/C#就很简单了,代码中有注释

print("-----------------------------------------------")
num = 15
if(num > 10) then
    print("num > 10")
elseif(num > 5) then
    print("num > 5")
else
    print("no")
end

print("-----------------------------------------------")
for i = 0.5, 3, 0.5 do              -- for(float i=0.5;i<=3;i+=0.5)
    print(i)
end

print("-----------------------------------------------")
i = 3
while(i<=5) do
    print(i)
    i = i + 1
end

print("-----------------------------------------------")
repeat                              -- 一直重复……直到满足xx条件
    print(i)
    i = i + 1
until(i>7)
print("-----------------------------------------------")

二、数组

table.getn():可以通过此方法获取数组大小(注意数组内容必须从下标1开始且中间不断才能得到正确的大小)

print("-----------------------------------------------------------")
range = {}          --数组初始化
range[-2] = 155         --这样赋值是合法的
print(range[-2])

print("-----------------------------------------------------------")
range = {1,2,3,4}           --下标从1开始,相当于range[1] = 1, range[2] = 2……
print(range[-2])
for i = 1, 6, 1 do
    print(range[i])
end

print("-------------------------------------------------------------")
range = {}
for i = 1, 3, 1 do
    range[i] = {}               --二维数组定义方法,可以理解为数组元素是数组
end
range[3][80] = 222;
--range[4][80] = 222            --非法,range[4]并不是个数组,只有range[1]、range[2]、range[3]
print(range[3][80])
print(table.getn(range))        --获取当前数组的大小
print(table.getn(range[3]))     --输出结果为0,因为table.getn()的计算方式是从索引1开始有序

print("-------------------------------------------------------------")
range = {}
--range[3][80] = 222            --非法,range已经重新被初始化了
range[1] = 5
range[2] = "sagag"              --一个数组里面的元素类型可以随意,不像C#那样有“整型数组”“字符串数组”之分
range["gg"] = 5.666
print(range[1] .. range[2])
print(range[1] * range["gg"])
print(table.getn(range))

count = 0
for a,b in pairs(range) do          --无视顺序获取数组大小的方法
    count = count + 1
end
print(count)
标签:LUA 发布于:2019-10-16 03:53:45