lua语言——多脚本执行

简介: lua语言——多脚本执行

(一)全局变量

a=1--全局变量
c=3--全局变量
for i=1,3 do
d="world"
end
print(d)--d,这里是d出了循环体还能用,是全局变量


(二)本地变量

--本地变量的关键字是local
for i=1,3 do
local e="world"--这个e只能在这个循环里使用
print("hello"..e)--打印三次,helloworld
end
local f="root"
print(f)--root


(三)多脚本执行:require

require加载过一次的脚本,再加载不会被执行

-多脚本执行
--关键字 require,require("脚本名") require('脚本名'),这里的脚本是同一个目录的脚本,不同的要写全路径
--加载别的脚本后,可以使用这个脚本的全局变量和全局函数
require("test")--test lua,lua test,会把脚本里的print语句打印出来
require('test')--什么也不打印,因为上面执行过了test脚本
print(a)--root,a是test脚本里的全局变量
print(c)--c在test脚本里是局部变量,不会打印hello
print(f1("nihao"))--nihao,f1是test脚本里的全局函数
print(d[1].name)--1,d是test脚本里的全局表


(四)脚本卸载

加载过的脚本 再次加载不执行

package.loaded[脚本名]- -判断脚本是否执行过 true 表示执行过 nil 表示未执行  
package.loaded[脚本名]=nil 卸载脚本


(五)大G表

存储声明的全局变量

大G表:_G

for k,v in pairs(_G) do  
print(k,v)  
end
–_G表是个总表(table)存储了声明的全部的全局变量,不存本地变量

所以这就是为什么加载了别的脚本,可以使用别的脚本里的全局变量


(六)小技巧

打印别的脚本里的本地变量,可以在该脚本中用return返回这个本地变量,然后另一个要使用它的脚本,拿个变量接就可以使用了。

h=require('test')--test lua,lua test
print(h)--hello,用h变量接住了test脚本里的本地变量c
目录
相关文章
|
2月前
|
存储 NoSQL Redis
Redis的Lua脚本有什么作用?
Redis Lua脚本用于减少网络开销、实现原子操作及扩展指令集。它能合并操作降低网络延迟,保证原子性,替代不支持回滚的事务。通过脚本,代码复用率提高,且可自定义指令,如实现分布式锁,增强Redis功能和灵活性。
96 1
|
2月前
|
存储 NoSQL 关系型数据库
使用lua脚本操作redis
使用lua脚本操作redis
59 0
|
13天前
|
NoSQL Java Redis
SpringBoot + Redis 执行lua脚本
SpringBoot + Redis 执行lua脚本
|
6天前
|
消息中间件 NoSQL Java
Redis系列学习文章分享---第六篇(Redis实战篇--Redis分布式锁+实现思路+误删问题+原子性+lua脚本+Redisson功能介绍+可重入锁+WatchDog机制+multiLock)
Redis系列学习文章分享---第六篇(Redis实战篇--Redis分布式锁+实现思路+误删问题+原子性+lua脚本+Redisson功能介绍+可重入锁+WatchDog机制+multiLock)
26 0
|
2月前
|
缓存 NoSQL Java
【Redis】5、Redis 的分布式锁、Lua 脚本保证 Redis 命令的原子性
【Redis】5、Redis 的分布式锁、Lua 脚本保证 Redis 命令的原子性
86 0
|
29天前
|
JSON 监控 数据格式
使用Lua代码扩展上网行为管理软件的脚本功能
本文介绍了如何使用Lua脚本增强上网行为管理,包括过滤URL、记录用户访问日志、控制带宽和自动提交监控数据到网站。Lua是一种轻量级语言,适合编写扩展脚本。文中提供多个示例代码,如URL过滤器、用户活动日志记录器和带宽控制器,帮助用户根据需求定制网络管理功能。通过这些示例,用户可以快速掌握Lua在上网行为管理中的应用。
84 4
|
6天前
|
NoSQL API Redis
使用Redis Lua脚本实现高级限流策略
使用Redis Lua脚本实现高级限流策略
24 0
|
7天前
|
消息中间件 NoSQL Java
Spring Boot中使用Redis和Lua脚本实现延时队列
Spring Boot中使用Redis和Lua脚本实现延时队列
|
9天前
|
NoSQL Java Redis
redis的lua脚本
在 Lua 脚本中,可以使用redis.call()函数来执行Redis命令.
14 0
|
2月前
|
算法 NoSQL Java
springboot整合redis及lua脚本实现接口限流
springboot整合redis及lua脚本实现接口限流
137 0