Lua中计算、执行字符串中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()
相关推荐
-
java代码执行字符串中的逻辑运算方法
方式一 public class Test { public static void main(String[] args) throws Exception { String str = "(a or b) and c"; str = str.replaceAll("or", "||"); str = str.replaceAll("and", "&&"); System.out.prin
-
java计算给定字符串中出现次数最多的字母和该字母出现次数的方法
本文实例讲述了java计算给定字符串中出现次数最多的字母和该字母出现次数的方法.分享给大家供大家参考,具体如下: import Java.util.Collections; import java.util.Map; import java.util.TreeMap; public class TestStringSplict { public static void main(String[] args){ String str = "aaaaaaacccccccccccccccccccccc
-
python 计算一个字符串中所有数字的和实例
如下所示: # 计算一个字符串中所有数字的和 def numsum(s): sum = 0 #定义变量,准备记录数字的和 for i in range(len(s)): #遍历字符串 if s[i] >= '0' and s[i] <= '9': #如果i处的字符属于数字字符 sum = sum + int(s[i]) #将字符转成int,求和 return sum s = input("请输入一个字符串:") print(numsum(s)) 以上这篇python 计算一
-
Mysql中实现提取字符串中的数字的自定义函数分享
因需要在mysql的数据表中某一字符串中的字段提取出数字,在网上找了一通,终于找到了一个可用的mysql函数,可以有效的从字符串中提取出数字. 该mysql提取出字符串中的数字函数如下: 复制代码 代码如下: CREATE FUNCTION GetNum (Varstring varchar(50)) RETURNS varchar(30) BEGIN DECLARE v_length INT DEFAULT 0; DECLARE v_Tmp varchar(50) default ''; se
-
在Python中实现替换字符串中的子串的示例
假如有个任务: 给定一个字符串,通过查询字典,来替换给定字符中的变量.如果使用通常的方法: >>> "This is a %(var)s" % {"var":"dog"} 'This is a dog' >>> 其实可以使用string.Template类来实现上面的替换 >>> from string import Template >>> words = Template
-
python中计算一个列表中连续相同的元素个数方法
最简单的例子: a = [1,1,1,1,2,2,2,3,3,1,1,1,3] # 问:计算a中最多有几个连续的1 很明显,答案是4 如果用代码实现,最先想到的就是itertools: import itertools a = [1,1,1,1,2,2,2,3,3,1,1,1,3] print max([len(list(v)) for k,v in itertools.groupby(a)]) 但是如果不想用itertools呢? 可以尝试以下的办法,效率还比itertools高一个数量级!
-
Lua中计算、执行字符串中Lua代码的方法
一.Lua中执行字符串 运行过程中有个问题,我有个字符串,是一个数学表达式,如何计算这个字符串表达式的值呢? 比如,local param = "7*100", 我需要的结果其实是700,但是怎么样直接计算出这个值呢?方法如下 字符串前面 加个 "return" 然后loadstring以后得到一个function 然后执行获得700的返回值,这样通过转化,得到的结果如下: 二.以字符串形式执行Lua代码 有时候,我们在代码中希望能够动态的切换上下文,改变程序的处理
-
asp.net中C#获取字符串中汉字的个数的具体实现方法
符串可以包括数字,字母,汉字或者其他的字符.使用Char类型的IsDigit静态方法可以判断字符串中的字符是否为数字,使用Char类型中的IsLetter静态方法可以判断字符串中是否为字母.我们来实现一种方法来实现判断字符串中是否为汉字,通过此方法可以计算字符串中汉字的个数,运行效果如图: 首先根据效果图设置好Form的界面和内容,Box1.Text为输入的字符串,我们对该字符串的处理,来计算汉字的个数,双击Buton控件,编辑其单击事件代码. 我们看下汉字的Unicode范围,普遍给出了0x4
-
C#动态执行字符串(动态创建代码)的实例代码
复制代码 代码如下: using System;using System.Data;using System.Configuration;using System.Text;using System.CodeDom.Compiler;using Microsoft.CSharp;using System.Reflection; namespace EvalGuy{ /// <summary> /// 本类用来将字符串转为可执行文本并执行 /// 从别处复制,勿随意更改!
-
Ruby中调用执行shell命令的6种方法
碰到需要调用操作系统shell命令的时候,Ruby为我们提供了六种完成任务的方法: 1.Exec方法: Kernel#exec方法通过调用指定的命令取代当前进程例子: 复制代码 代码如下: $ irb >> exec 'echo "hello $HOSTNAME"' hello nate.local $ 值得注意的是,exec方法用echo命令来取代了irb进程从而退出了irb.主要的缺点是,你无法从你的ruby脚本里知道这个命令是
随机推荐
- angularjs实现天气预报功能
- 使用 use re debug 查看正则表达式的匹配过程
- 上周方法病毒来源竟然为ad.pchome.net原来被挂马
- Java的云打印Lodop
- 使用GSON库转换Java对象为JSON对象的进阶实例详解
- php简单获取文件扩展名的方法
- php 指定范围内多个随机数代码实例
- Python处理JSON数据并生成条形图
- 浅谈vue中数据双向绑定的实现原理
- C#实现两接口中同名方法实例分析
- SqlCommandBuilder类批量更新excel或者CSV数据的方法
- js阻止浏览器默认行为的简单实例
- JS实现队列的先进先出功能示例
- js定时器实例分享
- 如何检测JavaScript的各种类型
- asp中Byval与Byref的区别
- php使用反射插入对象示例分享
- C++中的函数汇总
- 微信小程序模板(template)使用详解
- Windows 7下Python Web环境搭建图文教程