有没有办法从Lua代码(字符串)中允许一个语句?
例如:
行
“AddTwo(1,3)+ 9 + RandomValue(1,3)”
不可以
“AddTwo(1,3)+ 9 + RandomValue(1,3)SomeGlobalVariable = 1”
“AddTwo(1,3)+ 9 + RandomValue(1,3)函数HeyImNewFunction()返回[[Hello!]] end”
由于分号是可选的,因此那些NOT OKAY示例可能是Lua中的两个语句。
哦,版本是Lua 5.1!
答案 0 :(得分:3)
由于语句可以是复合语句,例如do...end
块,因此您无法识别" simple"没有解析器的语句。
如果你想要表达式而不是语句,那么如果字符串包含表达式列表,那么在return
之后附加字符串将只是有效的Lua代码。这可能足以满足您的目的。至少它适用于你给出的例子。