а хотя в LUA нету
begin но зато есть
end вот кусок кода на LUA давно что-то писал, чисто для сравнения:
function TCommand:PrepareCommand()
local funcCmd = loadfile(CmdPath.."cmd.idx")
if funcCmd == nil then
AddSysLog("TCommand - ОШИБКА! Не найден файл: "..CmdPath.."cmd.idx <-- Система остановлена!")
assert(funcCmd, "Файл не найден: "..CmdPath.."cmd.idx");
end
local resCmd = funcCmd()
local lineCmd = {}
local Buf = {}
for h = 1, TableMaxSize(resCmd) do
Buf[h] = {}
local lineCmd = {}
local f = io.open(CmdPath..resCmd[h][1], "r")
local idxl = 1
local line = f:read("*line")
while line do
lineCmd[idxl] = line
line = f:read("*line")
idxl = idxl + 1
end
f:close()
for j = 0, TableMaxSize(TUsers.Profile) do
for i = 1, string.len(TUsers.Profile[j][resCmd[h][2]]) do
if string.sub(TUsers.Profile[j][resCmd[h][2]], i, i) == "1" then
Buf[h][i] = lineCmd[i]
end
end
end
end
local fl = io.open(CachePath.."cmd.dat", "w")
fl:write("sCommand = {\n")
for h = 1, TableMaxSize(resCmd) do
for i, val in pairs(Buf[h]) do
fl:write("\t{"..val..", \""..resCmd[h][2].."\", "..tostring(i).."},\n")
end
end
fl:write("}")
fl:close()
end