Is a useless function, it do a piece of lua inside of a string.
If you run it:
It will print:
Lua:
function string:load()
for lua in self:gmatch('<%%lua(.-)%%>') do
local printed = ""
local f,err = loadstring(lua)
if not f and err then
printed = err
elseif f then
local r,err = pcall(f)
err = err or ''
printed = err
end
self = self:gsub('<%%lua.-%%>',printed,1)
end
return self
end
Lua:
local str = [[<%lua
math.randomseed(os.time())
%>
My name is mock and i am a bear.
Time now is <%lua return os.date('%H:%M:%S') %>
Random number: <%lua return math.random(0,1000000) %>
Error: <%lua error('omg') %>
Syntax error: <%lua dogas %>
Bye]]
function string:load()
for lua in self:gmatch('<%%lua(.-)%%>') do
local printed = ""
local f,err = loadstring(lua)
if not f and err then
printed = err
elseif f then
local r,err = pcall(f)
err = err or ''
printed = err
end
self = self:gsub('<%%lua.-%%>',printed,1)
end
return self
end
print(str:load())
My name is mock and i am a bear.
Time now is 00:26:14
Random number: 465224
Error: [string " error('omg') "]:1: omg
Syntax error: [string " dogas "]:1: '=' expected near '<eof>'
Bye