从lua中的字符串中允许一个语句(或者它是一个块?)的任何方法?

时间:2017-05-25 00:21:52

标签: lua

有没有办法从Lua代码(字符串)中允许一个语句?

例如:

  1. “AddTwo(1,3)+ 9 + RandomValue(1,3)”

  2. 不可以

    “AddTwo(1,3)+ 9 + RandomValue(1,3)SomeGlobalVariable = 1”

    “AddTwo(1,3)+ 9 + RandomValue(1,3)函数HeyImNewFunction()返回[[Hello!]] end”

  3. 由于分号是可选的,因此那些NOT OKAY示例可能是Lua中的两个语句。

    哦,版本是Lua 5.1!

1 个答案:

答案 0 :(得分:3)

由于语句可以是复合语句,例如do...end块,因此您无法识别" simple"没有解析器的语句。

如果你想要表达式而不是语句,那么如果字符串包含表达式列表,那么在return之后附加字符串将只是有效的Lua代码。这可能足以满足您的目的。至少它适用于你给出的例子。