Я слышал о библиотеке Lua или функции math.eval
:Как использовать команду Lua math.eval
http://wiki.inspired-lua.org/index.php?title=math.eval&setlang=fr
У меня есть сообщение об ошибке:
! Ошибка LuaTeX ./Calcul.lua:11: попытка вызвать поле 'eval' (значение nil) stack traceback: ./Calcul.lua:11: в функции 'NbRandom' [\ directlua]: 1: main кусок. \ Calculs код ... ^^ @ - \ п \ directlua {NbRandom()}
, когда я пытаюсь использовать его как это:
Nb = math.eval("3-7+8")
Что я пропустил?
Хорошо, это не команда lua. Я попробовал 'dostring (« 3-7 + 8 »)' и имел '! LuaTeX ошибка ./Calcul.lua:11: попытка вызвать глобальную 'dostring' (нилъ значение) стек отслеживающий: \t ./Calcul.lua:11: в функции 'NbRandom' \t [\ directlua]: 1: в основном куске. \ Calculs code ... ^^ @ - \ par \ directlua {NbRandom()} '. Я не нашел объяснений по этой команде. Я видел «loadstring»? – Tarass
Извините, да, 'loadstring'. Я всегда забываю, что у C api есть 'luaL_dostring', но нет функции lua' dostring'. Попробуйте 'val = loadstring (« return 3-7 + 8 »)()' –
Я считаю, что TI-Nspire использует специальную функцию, позволяющую распознавать гораздо более богатый набор математических функций, доступных в калькуляторе, но недоступных в чистом Lua. – tonypdmtr