Загрузка кода из строки

Страницы: 1
RSS
Загрузка кода из строки
 
Есть некоторая числовая переменная value и условие filter, заданное строкой, например:
Код
local value, filter = 5, " > 3"

Нужно вывести результат применения условия к переменной, как-то так:
Код
print(5 > 3)
 
хорошая тема.
вот, для начала (давно не проверял - может, что-то не хватать):

Код
n = 9
 mm = 2

function main()
loadstring("if n >= mm then message('n >= mm') else message('n < mm') end")()
end
 
возможные грабли: надо/лучше как-то задействовать через pcall и функцию обработки ошибок.
 
таким образом, можно задавать условия/уровни работы роботов прямо из визуальной таблицы. Весь пример приводить не буду - логика и так понятна.
 
Цитата
Серж пишет:
Есть некоторая числовая переменная value и условие filter, заданное строкой, например:
Код
 local value, filter = 5, " > 3"
 

Нужно вывести результат применения условия к переменной, как-то так:
Код
 print(5 > 3) 
-- Вычисление выражения из строки
-- Возвращает вычисленное значение либо nil при ошибке
function string.calculate(str)
local status,result = pcall(loadstring("return " .. str))
if status then
return result
end
end
Страницы: 1
Читают тему (гостей: 1)
Наверх