您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> 编程语言综合 >> 正文

Lua中计算、执行字符串中Lua代码的方法

作者:佚名    责任编辑:admin    更新时间:2022-06-22

   这篇文章主要介绍了Lua中计算、执行字符串中Lua代码的方法,类似JavaScript中eval函数的功能,在Lua中也可以实现,需要的朋友可以参考下

  一、Lua中执行字符串

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

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

  字符串前面 加个 "return"

  然后loadstring以后得到一个function

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

  二、以字符串形式执行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()