Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 是否可以在Lua中将表达式转换为字符串?_String_Lua - Fatal编程技术网

String 是否可以在Lua中将表达式转换为字符串?

String 是否可以在Lua中将表达式转换为字符串?,string,lua,String,Lua,我假设这是不可能的,但我只是想知道是否可以将表达式转换为字符串 例如,下面将五和五相加 print(tostring(5 + 5)) --> 10 我想知道你是否可以按照下面的思路做点什么 print(tostring(5 + 5)) --> 5 + 5 我想知道,因为我正在制作一个图形计算器,要创建一个函数,它必须是一个字符串。我希望我可以使它更易于使用,这样你就可以输入一个表达式,比如x^2,而不是“x^2”,你要做的是将表达式5+5转换成字符串“5+5” 好了,你不能在卢阿

我假设这是不可能的,但我只是想知道是否可以将表达式转换为字符串

例如,下面将五和五相加

print(tostring(5 + 5)) --> 10
我想知道你是否可以按照下面的思路做点什么

print(tostring(5 + 5)) --> 5 + 5

我想知道,因为我正在制作一个图形计算器,要创建一个函数,它必须是一个字符串。我希望我可以使它更易于使用,这样你就可以输入一个表达式,比如
x^2
,而不是
“x^2”

,你要做的是将表达式
5+5
转换成字符串
“5+5”


好了,你不能在卢阿这样做。但是,通过使用
loadstring
“5+5”
转换为
5+5
,可以实现相反的效果。希望对您有所帮助。

如果您将表达式作为某些Lua代码的一部分,您可以将该代码解析为类似抽象语法树(AST)的内容,然后将该AST转换为您需要的任何结构,可能是字符串或函数(这对于图形计算器来说可能更方便)


有几个Lua解析器可以做到这一点(既可以将Lua代码转换为AST,也可以从AST生成Lua代码);Metalua(仅5.1?仅字节码生成?)和TypedLua(5.2+)都可以做到这一点,并且还列出了其他一些Lua解析器。

您的输入阅读器几乎肯定会得到一个字符串。。。除非您直接向它提供一个原始lua文件,并让lua将其解析为lua代码。您不能在lua中执行您想要的操作,但也不需要使用lua解析器来处理输入。使用io.read()时不接受输入。它们实际上在lua文件中。那么您使用lua本身用表达式解析文件?那么,你不能这么做。您可以使用metalua或您自己的解析器,我认为您可能在寻找错误的解决方案或方法。你能澄清一下你想做什么吗,比如举一个包含内容的文件的例子。