Lua入门

变量

局部变量用local定义,可以平行赋值;没有加local的都是全局变量
local a ,b = c ,d

函数定义

function foo(argv)
    ... 
end
这里我们还可以在函数内部定义匿名函数(闭包的概念)
function foo(argv)
    ...
    function inner(argv)
         ...
    end 
end
函数还可以有多个返回值,并且,可以平行赋值
function mulReturn(argv1,argv2)
    return argv1,argv2
end

local a,b = mulReturn(1,2)  -- 平行赋值

Lua表既是哈希表,也是数组。可以将数组看作是以下标对应的哈希表。 定义表:!任何类型的值除了nil都可以作为表项的key,如函数地址
local hash = { a=1,b="str","hello" }
function foo1 end
function foo2 end 
hash[foo1]=foo2
访问表的成员
hash.a = 1 
hash.b = "str"
hash["b"] = "str"
hash[1] = "hello" --注意这里
枚举表:
for key,val in pairs(hash) do
   print(key,"=>",val)
end
__DATA OUTPUT__
1 => "hello"
a => 1 
b => "str"
function:001234e5 => function:0012413e
将某个键设置为nil即可删除该项

你可能感兴趣的:(Lua入门)