----------exercise6.1------------
local function exercise6_1(tab)
for i = 1, #tab do
print(tab[i])
end
end
-- 一般情况下,第二种性能更好
local function exercise6_1(tab)
print(table.unpack(tab))
end
-- 测试
exercise6_1({ 1, 3, 4 })
----------exercise6.2------------
local function exercise6_2(...)
local args = { ... }
table.remove(args, 1)
return args
end
local result = exercise6_2(1, 3, 54, 5)
for i = 1, #result do
print(result[i])
end
-----------exercise6.3-----------
local function exercise6_3(...)
local args = { ... }
table.remove(args, select("#", ...))
return args
end
local result = exercise6_3(1, 3, 54, 5)
for i = 1, #result do
print(result[i])
end
----------exercise6.4-----------
local function exercise6_4(array)
local size = #array
local shuffleArray = {}
-- 复制原数组
for i = 1, size do
shuffleArray[i] = array[i]
end
-- 打乱数组
for i = 1, size do
-- 生成随机索引
local randomIndex = math.random(1, size)
-- 交换当前元素与随机索引对应的元素
shuffleArray[i], shuffleArray[randomIndex] =
shuffleArray[randomIndex],shuffleArray[i]
end
return shuffleArray
end
local result = exercise6_4({ 1, 2, 3, 4, 5 })
for i = 1, #result do
print(result[i])
end