lua入门之一函数

--函数
function max(num1,num2)
    if(num1>num2) then
        result=num1
    else
        result=num2
    end
    return result
end

--print("max(1,150)",max(1,150))


--Lua 中我们可以将函数作为参数传递给函数,如下实例:

myprint=function(param)
    print("这是打印函数-##",param,"##")
end

function add(num1,num2,functionPrint)
    result=num1+num2
    functionPrint(result)
end
--myprint(10)
-- myprint 函数作为参数传递
--add(2,5,myprint)

--多返回值
s,e=string.find("www.baidu.com","baidu")
--print(s,e)


--可变参数
function average( ... )
    result=0
    local arg ={...}
    for i,v in ipairs(arg) do
        --print(i,v)
        result=result+v
    end
    print("一共传入"..#arg.."个参数")
    return result/#arg
end


--print("平均值为",average(10,558,44,55,50))


--ipairs 和 pairs 区别
--ipairs 遍历key为int的
--pairs 支持Key为任何类型

pairs1={"xx","we","fdtrtg"}
pairs2={
    [1]="yereeswd",
    ["xx"]="xx1",
    ["yy"]="yy1",
    [4]="yere"
}

for i,v in ipairs(pairs2) do
    --print(i,v)
    --print(pairs2[i])
end

for i,v in pairs(pairs2) do
    --print(i,v)
    --print(pairs2[i])
end

--for找不到下标就是nil
for i=0,2 do
    print(pairs2[i])
end

 

posted @ 2017-09-18 20:06  淡墨&青衫  阅读(103)  评论(0编辑  收藏  举报