学习lua的编程笔记:
--[[
print("Hello World")
print(b)
b = 10
print(b)
b = nil
print(b)
--]]
--[[
注释
--]]
--[[
数据类型:
nil
boolean
number
string
function
userdata
thread
table(lua中的表)
--]]
--[[
print(type(nil))
print(type("cch"))
print(type(2.21))
print(type(true))
print(type(print))
--]]
--[[
tab1 = {key1 = "cch",key2 = 2.22}
print(type(tab1.key1))
tab1.key2 = nil
print(type(tab1.key2))
--]]
--[[
if nil then
print("nil为true")
else
print("nil为false")
end
--number
print(type("2"++"6"));
--string ".."两个点表示连接字符串
print(type("2".."6"));
str = "this is a string"
print(str)
print(html)
print(#str)
print(#html)
--]]
--[[
tab1 = {key = 123,key2 = "abc"}
tab2 = {"434",123,"abc"}
for key,val in pairs(tab1) do
print(key..":"..val)
end
for key,val in pairs(tab2) do
print(key..":"..val)
end
for key,val in pairs(tab2) do
print(type(val))
end
tab2[2] = nil
for i = 1,5 do
print(tab2[i])
end
tab2[2] = 343
tab2["abc"] = "ABC"
tab2.cch = "oop"
for k,v in pairs(tab2) do
print(k..":"..v)
end
function Sum(n)
sum = 0
for i = 1,n do
sum=sum+i;
end
return sum
end
print(Sum(10))
print(
function()
return 12
end
)
a = 2
print(type(a))
a = "2"
print(type(a))
function fun()
p1 = 2
local p2 = 3
end
fun()
print(p1)
print(p2)
a,b,c = 10,"cch",true
print(type(a),type(b),type(c))
a,b,c = c,a,b
print(a,b,c)
print(a)
i = 0
while i<=20 do
if i%2==0 then
print(i)
end
i=i+1
end
tab = {"a","b",34,54,56}
for key,val in pairs(tab) do
print(key.." "..val)
end
a = 1
repeat
print(a)
a=a+1
until a>=10
function grade(a)
local result = nil
if a<0 then
result = "分数不能小于0分"
elseif a<60 then
result = "不及格"
elseif a<80 then
result = "及格"
elseif a<100 then
result = "优秀"
elseif a==100 then
result = "满分"
else
result = "分数不能大于100分"
end
return result
end
print(grade(103))
max = function(...)
local arg = {...}
local maxNum = 0
for key,val in pairs(arg) do
if val>maxNum then
maxNum = val
end
end
return maxNum,#arg
end
print(max(12,45,2,78,32))
function Sum(...)
local sum = 0
for key,val in pairs(arg) do
sum = sum + val;
end
return sum-#arg
end
print(Sum(1,2))
print(2==2) --true
print(2~=3) --true
print(#"cchoop")
if 3<3 or 4>2 then
print("or")
end
if not false then
print("not")
end
if 3==3 and 2==2 then
print("and")
end
str = "hello \n world";
str1 = "ABC"
print(str);
-- string.upper(str) 改大写
print(string.upper(str))
-- string.lower(str) 改小写
print(string.lower(str1))
-- string.gsub(str,findStr,replaceStr,replaceNum)
print(string.gsub(str,"l","替换",10))
-- string.reverse(str) 翻转
print(string.reverse(str))
-- string.format(str,...) 格式化
print(string.format("%d + %d result is %d",4,5,4+5))
-- string.rep(str,repNum) 拷贝
print(string.rep(str,5))
-- string.len(str) 长度
print(string.len(str))
-- 字符串拆分
function StrSplit(inputstr, sep)
if sep == nil then
sep = "%s"
end
local t={}
local i=1
for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
t[i] = str
i = i + 1
end
return t
end
print(#StrSplit("2,3,4,5",","))
-- string.find(str,findStr,StrIndex)
print(string.find("I am a boy","am",1))
-- table.concat(tab) 表连接
tab = {"zun","apple","fruit","orange","oil"}
print(table.concat(tab))
print(table.concat(tab,","))
print(table.concat(tab,",",3,4))
print(table.concat(tab,"",1,4))
print(#tab)
-- table.insert(str,strInsert) 插入
table.insert(tab,6,"abc")
print(#tab,tab[5])
-- table.remove(str,strRemove) 删除
table.remove(tab)
print(#tab)
-- table.sort(tab) 排序
for k,v in pairs(tab) do
print(v)
end
table.sort(tab)
for k,v in pairs(tab) do
print(v)
end
--]]
--协同
--[[
add = coroutine.create(
function(a,b)
print(a+b)
print(a+b)
print(a+b)
coroutine.yield(a*b)
print(a+b)
return a+b;
end
)
print(coroutine.resume(add,20,30))
print("---------------------------")
print(coroutine.resume(add))
file = io.open("C:\\Users\\yue\\Desktop\\unity招聘.txt","r")
io.input(file)
str= io.read()
while str do
print(str)
str = io.read()
end
repeat
print(io.read())
until not io.read()
io.close(file)
file = io.open("C:\\Users\\yue\\Desktop\\123.txt","w")
io.output(file)
for i = 1,10,2 do
io.write("cchoop".."\n")
end
io.close(file)
file = io.open("C:\\Users\\yue\\Desktop\\123.txt","r")
io.input(file)
--print(io.read("*a"))
--print(io.read("*l")) 默认
--print(io.read("*n"))
--print(io.read(11))
io.close(file)
function PingFang(maxNum,minNum)
if minNum < maxNum then
minNum = minNum+1
return minNum,minNum*minNum
end
end
for i,n in PingFang,10,1 do
print(i.."的平方数是"..n)
end
--]]