Lua語法要點2

Lua語法要點2數組

一、Lua函數ide

  function 能夠添加 local 關鍵字。添加後爲局部函數,不添加(默認)爲全局函數。return 能夠返回多個返回值,以, 分隔。函數

  使用 ... 來表示變長參數。lua

function add(...)  
local s = 0  
  for i, v in ipairs{...} do   --> {...} 表示一個由全部變長參數構成的數組  
    s = s + v  
  end  
  return s  
end  
print(add(3,4,5,6,7))  --->25

  經過 select("#",...) 來獲取可變參數的數量:spa

function average(...)
   result = 0
   local arg={...}
   for i,v in ipairs(arg) do
      result = result + v
   end
   print("總共傳入 " .. select("#",...) .. " 個數")
   return result/select("#",...)
end

print("平均值爲",average(10,5,3,4,5,6))
  • select(n, …) 用於訪問 n 到 select('#',…) 的參數
do  
    function foo(...)  
        for i = 1, select('#', ...) do  -->獲取參數總數
            local arg = select(i, ...); -->讀取參數
            print("arg", arg);  
        end  
    end  
  
    foo(1, 2, 3, 4);  
end

二、for循環code

  var 從 exp1 變化到 exp2,每次變化以 exp3 爲步長遞增 var,並執行一次 "執行體"。exp3 是可選的,若是不指定,默認爲1。blog

for var=exp1,exp2,exp3 do  
    <執行體>  
end  

  for的三個表達式在循環開始前一次性求值,之後再也不進行求值。好比上面的f(x)只會在循環開始前執行一次,其結果用在後面的循環中。ip

#!/usr/local/bin/lua  
function f(x)  
    print("function")  
    return x*2   
end  
for i=1,f(5) do print(i)  
end
function
1
2
3
4
5
6
7
8
9
10
View Code

三、運算符。io

  ^ 是指數運算符,如 10^2 = 100。for循環

  ~= 是不等於運算符,同C++中的 !=。

  邏輯運算符所有采用英文單詞來表示。

  

  其餘運算符
  

四、

五、

六、

七、

八、

九、

相關文章
相關標籤/搜索