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

 更新时间:2015年05月05日 09:00:38   投稿:junjie  
这篇文章主要介绍了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()

相关文章

  • Lua编程示例(六): C语言调用Lua函数

    Lua编程示例(六): C语言调用Lua函数

    这篇文章主要介绍了Lua编程示例(六): C语言调用Lua函数,本文直接给出代码实例,需要的朋友可以参考下
    2015-07-07
  • 利用Lua定制Redis命令的方法详解

    利用Lua定制Redis命令的方法详解

    这篇文章主要给大家介绍了关于利用Lua定制Redis命令的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • Lua中的持久化和序列化详解

    Lua中的持久化和序列化详解

    这篇文章主要介绍了Lua中的持久化和序列化详解,本文详细讲解了Lua中的持久化和序列化,并给出代码实例,需要的朋友可以参考下
    2014-09-09
  • Lua语言新手简单入门教程

    Lua语言新手简单入门教程

    这篇文章主要给大家介绍的是关于Lua语言新手入门的简单教程,文中通过示例代码一步步介绍的非常详细,对各位新手们的入门提供了一个很方便的教程,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2018-03-03
  • Lua判断字符串前缀是否为指定字符的3种方法

    Lua判断字符串前缀是否为指定字符的3种方法

    这篇文章主要介绍了Lua判断字符串前缀是否为指定字符的3种方法,本文还对三种方法分别做了性能测试,需要的朋友可以参考下
    2015-04-04
  • Lua中的全局变量、非全局变量总结

    Lua中的全局变量、非全局变量总结

    这篇文章主要介绍了Lua中的全局变量、非全局变量总结,全局变量可称之为Lua环境变量,需要的朋友可以参考下
    2014-09-09
  • Lua教程(七):数据结构详解

    Lua教程(七):数据结构详解

    这篇文章主要介绍了Lua教程(七):数据结构详解,本文讲解了数组、二维数组、链表、队列与双向队列、 集合和包(Bag)、StringBuilder等内容,需要的朋友可以参考下
    2015-04-04
  • Lua学习笔记之数据类型

    Lua学习笔记之数据类型

    这篇文章主要介绍了Lua学习笔记之数据类型,本文同时讲解了开发环境的搭建,需要的朋友可以参考下
    2014-09-09
  • Lua中让回调函数支持回调对象方法的解决方法

    Lua中让回调函数支持回调对象方法的解决方法

    这篇文章主要介绍了Lua中让回调支持对象方法,一般情况下,Lua中只支持回调一个函数,本文方法实现可以回调一个对象的方法,需要的朋友可以参考下
    2014-12-12
  • 把Lua函数传递到C/C++中实例

    把Lua函数传递到C/C++中实例

    这篇文章主要介绍了把Lua函数传递到C/C++中实例,本文先是分析了需求,然后给出解决方法,需要的朋友可以参考下
    2014-11-11

最新评论