Lua学习笔记(6)

   今天学习第五章 函数
ide

5. Functions
1)函数定义:
     function func(arg_list)
          stat_list
     end
     
     (a)对只有一个参数且为字符串或表构造时,能够不用括号:
     如:     func("abcd") <----> func "abcd"
     (b)对函数参数赋值同通常的等号赋值,缺乏补nil,多余忽略
 
2)函数返回值能够为多个:
     function func()
          return 1,2
     end
     
     a,b  = func()
     (a)能够用()强制只返回一个值 如 print( (func()) )--> 1
     (b)当不须要一个返回值时,可用 “_”占位,如:
               _, b = func() ---> b = 2
 
3)可变参数:
     Lua将可变参数,记录在一个叫arg的表中,如:
     function p(a,b, ...)
          for i,v in ipairs(arg) do
               ...
           end
     end     
 
     p(1)  ---> a = 1, b = nil, arg = {n = 0}
     p(1,2) --->a = 1, b = 2, arg = {n = 0}
     p(1,2,3,4) ---> a = 1, b = 2, arg = {3,4; n=2} 
 
 
4)命名参数:
     在函数调用时,显示说明输入的实参是属于哪一个形参的,能够作到不依据形参顺序来输入参数,方便一些可选参数的输入。如:
     function func(height,length,width,vol)
          ...
     end
 
     调用时能够:
          func(vol = 5, length = 10)至关于-->  func(nil, 10, nil, 5)
相关文章
相关标签/搜索