Lua学习笔记

学习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
--]]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cchoop

有用的话请杯肥宅水

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值