lua使用容易误解的点

1,table.unpack的使用

-- table.unpack介绍
table.unpack (list [, i [, j]])
返回列表中的元素。 这个函数等价于:
    return list[i], list[i+1], ···, list[j]
i 默认为 1 ,j 默认为 #list。


-- 使用时容易误解的地方:
local a = { 'a', 'b', 'c' }
local p1 = { 'g', table.unpack(a) }  # {"g","a","b","c"}
local p2 = { 'g', table.unpack(a), 'e' } # {"g","a","e"}

注意p2的结果是{"g","a","e"},p1中放在后面,相当于{...}, p2的用逗号隔开了,相当于只接收一个值