Lua学习(四)函数

函数的作用:
  1、完成某项特定任务
  2、计算并返回结果


语法:
function func_name(args)
    statements
end


1、多重返回值
  A、若函数作为一条单独语句执行,无返回值
  B、若函数作为表达式一部分,只保留函数第一个返回值
  C、若函数作为表达式一部分并且在表达式最后一个位置,返回所有值

function t_none() end                 --->无返回值

function t_one() return "a" end       --->返回一个值"a"

function t_many() return "a","b" end  --->返回两个值"a","b"


x = t_many()          --->x="a","b"被抛弃

x,y = t_many()        --->x=="a",y="b"

x,y,z = t_many()      --->x="a",y="b",z=nil

x,y = t_many(),20,30  --->x="a",y=20,30被抛弃

将函数放在一对圆括号内,强制函数返回一个值
print((t_many()))     --->a

2、变长参数
用3个点(...)表示函数接受不同数量的实参
function sum(...)
    local s = 0
    for i,v in pairs({...}) do
        s = s + v
    end
    return s
end

访问变长参数时,仍需用到3个点(...)
function sum(...)
   local a,b,c = ...
end


3、具名实参
将所有实参组织到一个table中
rename({old="temp.lua", new="temp1.lua"})
也可以写成
rename{old="temp.lua", new="temp1.lua"}

不过我还是喜欢第一种风格

猜你喜欢

转载自room-bb.iteye.com/blog/2294315