Lua中计算、执行字符串中Lua代码的方法(lua中string.gsub)怎么可以错过

随心笔谈1年前发布 编辑
159 0



一、Lua中执行字符串

运行过程中有个问题,我有个字符串,是一个数学表达式,如何计算这个字符串表达式的值呢?

比如,local param=”7*100″, 我需要的结果其实是700,但是怎么样直接计算出这个值呢?方法如下

Lua中计算、执行字符串中Lua代码的方法(lua中string.gsub)怎么可以错过

字符串前面 加个 “return”

然后loadstring以后得到一个function

然后执行获得700的返回值,这样通过转化,得到的结果如下:

Lua中计算、执行字符串中Lua代码的方法(lua中string.gsub)怎么可以错过

二、以字符串形式执行Lua代码

有时候,我们在代码中希望能够动态的切换上下文,改变程序的处理的流程,这时候,我们就需要在按照自己的意志来生成一些代码,这时候,我们就需要从字符串中来执行一些Lua代码

在我们的项目我希望,我可以从服务器上下来一个可以执行的lua代码,使用此段代码来更新项目的资源,从而,避免是先有鸡还是先有蛋的问题

复制代码 代码如下:

–Defining a string to use as function later

funcStr=”print(‘test’)”

–Running it directly

loadstring(funcStr)()

–Defining a function from the string and running it

func=loadstring(funcStr)

func()

© 版权声明

相关文章