lua笔记

1.lua基本语法
没有被local修饰的变量为全局变量

2.函数
function name(param)
body
end

name = function(param)
body
end

可变参数
function name(…)

end
function name(v1, v2,…)
end

function myTest(a, b, ...)
  print(a..b)
  print(arg)
  return 1,2
end
myTest(1,2,3,4)

3.判断
if 表达式 then
block
end

if 表达式 then

else

end

if 表达式 then

elseif 表达式 then

else

end

function compare(i, j)
  if i > j then
    print(i, ">", j)
  elseif i < j then
    print(i, "<", j)
  else
    print(i, "==", j)
  end
end
compare(1,2)">")>

4.循环
while…do
repeat…utile
for…do
for…in…do

do
  local i = 10
  while i > 0 do
    print(i)
    i = i - 1
  end
end

do
  local i = 1
  repeat
    print(i)
    i = i + 1
  until i > 10
end

for k = 0, 10, 2 do
  print(k)
end

function fib(n)
  if n > 0 and n <= 2 then
    return 1
  else
    return fib(n - 1) + fib(n - 2)
  end
end
print(fib(7))

function fib2(n)
  a, b = 1, 1
  if n > 0 and n <= 2 then
    b = 1
  else
    for k = 3, n do
      a, b = b, a + b
    end
  end
    return b
end
print(fib2(7))>

5.table
array = {v1, v2, …}
array[index] index >= 1
array = {v1, key = value}
array[index] array[“key”] array.key

arr = {1, "hi", k1 = "are", k2 = "you", k3 = "ok", "over"}

for k, v in pairs(arr) do
  print(k..": "..v)
end
sosop hou 18 June 2015
blog comments powered by Disqus