--include "SysFixerCommon.lua"
--include "LuaApi.lua"
GUID="{7286A710-6BE5-43e5-AF84-C844B02B47D8}"
function Scan()
local a = {1,2,3,4,5,6,7}
local b = {}
BDM_LUA_GLOBAL_OBSERVER:Lua_PrintDebugString("a = "..#a)
local window = 5
for i = 1 , #a do
local min = i - (window - 1)/2
local max = i + (window - 1)/2
if min <= 0 or max > #a then
b[i] = a[i]
BDM_LUA_GLOBAL_OBSERVER:Lua_PrintDebugString("b["..i.."]= "..b[i])
else
avg = Average(a, (i - (window - 1)/2), window)
BDM_LUA_GLOBAL_OBSERVER:Lua_PrintDebugString("avg["..i.."]= "..avg)
end
end
end
function Average(a, begin, window)
local avg = 0
local total = 0
for i = begin, begin + window - 1 do
total = total + a[i]
end
avg = total/window
return avg
end
执行结果:
DebugPut: a = 7
DebugPut: b[1]= 1
DebugPut: b[2]= 2
DebugPut: avg[3]= 3
DebugPut: avg[4]= 4
DebugPut: avg[5]= 5
DebugPut: b[6]= 6
DebugPut: b[7]= 7
转载于:https://blog.51cto.com/luckypan/1341245