Я пытаюсь получить строку с несколькими номерами для одного Int как это:Преобразование вычисления строки в целое в Lua
x="5+5" --amount of numbers is not constant
y=tonumber(x)
print(y)
Результатом этого является nil
в то время как она должна быть 10
(целое) , Единственный способ, которым я мог это решить, - сначала найти все "+"
и "-"
с string.find()
, а затем разрезать его на все необходимые части, а оттуда только tonumber()
. Для такой простой проблемы было бы глупо кодировать не менее ста строк кода.
Убедитесь, что вы доверяете источнику; это можно использовать для запуска произвольного кода! –
'setfenv (func, {})' должен помочь свести к минимуму риск запуска вредоносного кода, не так ли? Есть ли способ, которым код может все еще причинить вред, даже без доступа к каким-либо функциям? –
Лучшей средой для оценки выражения будет библиотека 'math', так что пользователь может написать' cos (x) 'вместо' math.cos (x) '. – lhf