脚本语言真随意啊...感觉到处都是语法糖
判断 循环
--[[
duohangzhushi
a
a
]]
--赋值语句
--a = 123
--b = 'abc'
--同时赋值
a,b = 123,'abc'
print(a)
print(b)
age = 17
print(type(age > 18))
--false nil是不成立的
--0 是成立的
if age < 18 then
print("you can work")
elseif age > 75 then
print('go to park')
else
print('u should go to work')
end
--for循环
for i = 1,5 do
print(i)
end
--while循环
while a > 120 do
print(a)
a = a - 1
if a < 121 then
break
end
end
--不等于 ~=
--逻辑 与 或 非 and or not
if not (age > 18) and age < 70 then
print('aaaaaa')
end
repeat
ans = 15
repeat
print('guess the password (little than 100)')
a = tonumber(io.read())
if a == ans then
print("u are right!")
break
elseif a > ans then
print('too big')
else
print('too small')
end
until false
table
--lua唯一内置数据结构table
--下标从1开始
a = {1,2,3,4,'a','b',x = 123,y = 456,pos = {c = 233}}
print(a[1])
print(a['b'])
print(a['x'])
--table.key 语法糖
a.z = 789
--a['z'] = 789
print(a['z'])
print(a.pos.c)
--遍历 pairs ipairs
for k,v in pairs(a) do
print(k,' : ',v)
end
function
--函数
--[[
add = function(a,b)
return a+b
end
print(add(1,2))
]]
--语法糖
--多返回值
function fun(a,b)
return a + b,a * b
end
--print(add(1,2))
sum,product = fun(1,2,3)
--print(sum,product)
--高阶函数
--first class
function process(f,a,b)
--print(f)
print(a)
print(b)
print(f(a,b))
end
--process(fun,3,5)
--process(fun,2,4)
--可变参数
function add(...)
local sum = 0
local arg = {...}
for k,v in ipairs(arg) do
sum = sum + v
end
return #arg,sum
end
print(add(1,2,3,4,5,6))
Comments NOTHING