diff --git a/README_ru.md b/README_ru.md index 725e90a..16cc746 100644 --- a/README_ru.md +++ b/README_ru.md @@ -113,11 +113,10 @@ end # Другие функции -AIO Launcher включает в себя интерпретатор LuaJ 3.0.1 (совместимый с Lua 5.2) со стандартным набором библиотек: `base`, `bit32`, `coroutine`, `io`, `math`, `os`, `package`, `string table`. +AIO Launcher включает в себя интерпретатор LuaJ 3.0.1 (совместимый с Lua 5.2) со стандартным набором библиотек: `base`, `bit32`, `coroutine`, `io`, `math`, `os`, `package`, `string`, `table`. В комплект также входят: -* [LuaJava](https://github.com/luaj/luaj#the-luajava-library) - прямой вызов методов Java; * [Penlight](http://stevedonovan.github.io/Penlight/api/manual/01-introduction.md.html) - набор портированных из Python функций и структур данных; * [luaDate](https://github.com/Tieske/date) - функции для работы со временем; * [json.lua](https://github.com/rxi/json.lua) - парзер JSON; diff --git a/bad-script.lua b/bad-script.lua index b2280ec..bd46fae 100644 --- a/bad-script.lua +++ b/bad-script.lua @@ -1,3 +1,5 @@ function on_resume() - while true do end + while true do + ui:show_text("bad") + end end diff --git a/sandbox.lua b/sandbox.lua new file mode 100644 index 0000000..58f9dfc --- /dev/null +++ b/sandbox.lua @@ -0,0 +1,10 @@ +function sandbox(func) + local co = coroutine.create(func) + local hook = function() coroutine.yield('resource used too many cycles') end + + debug.setupvalue(func, 1, _G) + debug.sethook(co, hook, "", 100) + + coroutine.resume(co) +end +