Lua: Выполнение строки и сохранение вывода команды в переменной
У меня есть скрипт Lua, который получает вызов функции в строке. Мне нужно выполнить этот вызов и получить вывод в виде строки в переменной, чтобы позже я мог отправить его куда-нибудь.
Например, я получу строку"json.encode('{1:1, 2:3, 5:8}')"
, Я хотел бы выполнить его и получить переменную со значениемret = json.encode('{1:1, 2:3, 5:8}')
.
Я пытался использовать loadstring кучу разных способов, в том числе способ, которым янайдено в документах, но я не могу заставить его работать так, как я хочу:
> s = "json.encode('{1:1, 2:3, 5:8}')"
> ret = assert(loadstring(s))()
> print(ret)
nil
Я знаю, что строка выполняется, потому что если я установлюs = print(json.encode('{1:1, 2:3, 5:8}'))
Я вижу выход. Я просто не знаю, как получить вывод в переменной.
Спасибо!