lua基础语法

lua输入输出

--注释
单行--,多行--[[ 到 ]] 结束
--除了false和nil,其他表达式均为真,包括0和空串

--字符串连接
print('A bulb rated for 2200 hours will last ' .. (2200/6/365) .. ' years')

--格式化输出
print(('A bulb rated for %d hours will last about %.1f years'):format(2200, 2200/6/365))

--变量直接赋值使用
a = {"111", "222", "333"};
print(a[1]);        --lua下标从1开始
print(a[2]);
print(a[3]);
a[4] = 4;
a[5] = 5;

--两种循环输出
for i, v in ipairs(a) do print(v) end -- 泛型for循环,i可省略

for i = 1, 10, 1 do -- 数字for循环,第三个数为step,可以省略,默认为1
    print(i);
end;

--两种循环语句
i = 10;
while i > 0 do
    print(i);
    i = i - 1;
end;

repeat
    i = i + 1;
    print(i);
until i > 10;

--ifelse语句
if i > 0 then
    print(i..">0")
elseif i < 0 then
    print("i < 0");
else
    print("i == 0");
end

--Lua语法要求break和return 只能出现在block的结尾一句,即chunk的最后一句,或者end之前,或者else前,或者until前
--function add(
function unpack(t, i) -- unpack返回a所有的元素作为f()的参数
    i = i or 1
    if t[i] then
        return t[i], unpack(t, i + 1)
    end
end

print(unpack(a, 2))

T1=
{
    10,  -- 相当于 T1[1] = 10
    [100] = 40,
    John=  -- 如果你原意,你还可以写成:["John"] =
    {
        Age=27,   -- 如果你原意,你还可以写成:["Age"] =27
        Gender=Male   -- 如果你原意,你还可以写成:["Gender"] =Male
    },
    20  -- 相当于 T1[2] = 20
}
print(unpack(T1, 1))
print(T1[100])
print(T1["John"]["Age"])
--所有索引值都需要用"["和"]"括起来,如果不写索引,则索引会被认为是数字,按顺序自动从1往后编。
T2 = {1, tom = 2, sai = 3, john = 4, 5}
print(T2[2])

--可变参数
--local _, x = string.find(s, p)
--x为find返回的第二个值
print(string.find("hello hello", " hel"))   --> 6 9

function select (n, ...)
    return arg[n]
end

print(select(1, string.find("hello hello", " hel")))     --> 6

-- 10行、9列的矩阵
mt = {}          -- create the matrix
for i = 1, 10 do
    mt[i] = {}   -- create a new row
    for j = 1, 9 do
        mt[i][j] = 0
    end
end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值