Lua初识之控制结构语句
-----------------------------------------------
-- if 语句
do
local flag = true
if flag then
print("true")
end
if not flag then
print("false")
end
if not flag then
print("false")
else
print("true")
end
if not flag then
print(false)
elseif flag then
print(true)
else
print("other")
end
-------------------------------------------------
---------------------------------------------------
------While 语句
do
local num = 0
while num <= 10 do
print("num = " .. num) -- 0, 1, 2, 3, 4,....
num = num + 1
end
end
do
local i = 1
while i < 10 do
print(i) --> 1, 2, 3, 4, 5, 6
if i > 5 then
break
end
i = i + 1
end
end
--------------------------------------------------
--------for语句块
-- for 语句块
-- do
-- local i
-- for i = 0, i <= 5, i = i + 1 do --这样写三个条件错误
print(i)
-- end
-- end
-----------
do
local num
for num = 0, 10, 2 do
print("num = " .. num) --> 0, 2, 4, 6, 8, 10
end
-- 该for循环 从 num = 0开始, 每次 自身 + 2, 条件为num <= 10
end
---------
do
local i
for i = 0, 5 do --i 从零开始每次循环自身 + 1, 条件为 i <= 5
print(i) --> 0, 1, 2, 3, 4, 5
end
end
--------------
do
local i
for i = 0, 5, 1 do
if i > 3 then
break -->i > 3 退出循环
end
print(i) --> 0, 1, 2, 3
end
end
-------for泛型遍历
for line in io.lines() do
io.write(line, "\n") --输入一行字符串按回车,输出一串字符串
end
-------------------
days = { ["Sun"] = 1, ["Mon"] = 2, ["Tue"] = 3, ["Wed"] = 4, ["Thur"] = 5, ["Fri"] = 6}
for i in pairs(days) do
print(i) --> Sun, Wed, Tue, Fri, Thur, Mon
end
days = { "Sun", "Mon", "Tue", "Wed", "Thur", "Fri"}
for i in pairs(days) do
print(i) --> 1, 2, 3, 4, 5, 6
end
---------------------------------------
days = { ["Sun"] = 1, ["Mon"] = 2, ["Tue"] = 3, ["Wed"] = 4, ["Thur"] = 5, ["Fri"] = 6}
for i,v in pairs(days) do
print(i .. " = " .. v) --> Sun = 1, Wed = 2, Tue = 3, Fri = 4, Thur = 5, Mon = 6
end
-----------------------------
days = { ["Sun"] = 1, ["Mon"] = 2, ["Tue"] = 3, ["Wed"] = 4, ["Thur"] = 5, ["Fri"] = 6}
revDays = {}
--> 因为表days不是数字型如果用 ipairs() 出错
for i,v in pairs(days) do
--> Sun = 1, Wed = 2, Tue = 3, Fri = 4, Thur = 5, Mon = 6
print(i .. " = " .. v)
revDays[v] = i
end
for i,v in pairs(revDays) do
--> 1 = Sun, 2 = Mon, 3 = Tue, 4 = Wed, 5 = Thur, 6 = Fri
print(i .. " = " .. v)
end
----------------------
local days = {5, 6, 7, 8, 9}
for i in ipairs(days ) do -- 数字型表可以用 ipairs()
print(i) --> 1,2, 3, 4, 5
print(days[i]) --> 5, 6, 7, 8, 9
end
print("\n") --换行
for i in pairs(days) do --数字型表也可以用 pairs()
print(i) --> 1, 2, 3, 4, 5
end
--------------------------