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)
相關文章
相關標籤/搜索