Lua中计算、执行字符串中Lua代码的做法实用指南
平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“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()
-
09.03
构建高可用 RAG 大模型系统-主要信息和内容重点
-
09.03
生产级ReAct Agent深度实现有哪些重点-关键信息和实际影
-
09.03
Animated Squirrel Photobomb Comedy
-
09.03
Fantasy Taoist Warrior and Giant Short
-
09.03
太炸裂
-
09.03
音述AI分轨无法单独导出执行导出操作操作步骤
-
-
-
-
- Loomy入口怎么找-API和路径
- 09.03
-
- SQLite教程(五):数据库和事务实用指南
- 09.03
-
-
下载
- |
-
-
下载
- 《行尸走肉第一章》免安装中文汉化硬盘版下载
- 单机|436 MB
- 一款以动作冒险为主题的游戏
-
-
下载
- 《街头霸王X铁拳》免安装中文汉化硬盘版下载
- 单机|111MB
- 一款非常好玩的格斗游戏
-
-
下载
- |
-
-
下载
- 《暗黑破坏神3》免安装繁体中文正式版下载
- 单机|7630 MB
- 一款以角色扮演为主题的游戏
-
-
下载
- 《马克思佩恩3》免安装硬盘版下载
- 单机|27033 MB
- 一款以第三人称射击为主题的游戏