0基础学习gglua(5)

哈喽~大家好 时隔这么长时间 我又来了!!

今天我们来介绍两个gg函数以及几个lua的io库中常用的函数

首先是io库

io.open

io.open的意思为打开文件下面列出一段代码作为演示

file=io.open("路径"--[[此处可以为绝对路径或相对路径]],"r')
if not file then
    print("文件不存在")
else
    print("文件内容为\n"..file:read("*a")
end

在这几行代码中我们来做一一解释

首先第一行的io.open 这里的路径可以为绝对路径或者相对路径 并且路径的类型必须为字符串

而他后面的r 为只读模式

这里简单介绍一下io中的字符

  1. r 只读取不操作
  2. w 先将文件内的内容清空后再写入内容 不能读只能写 若没有文件则创建
  3. a 保留文件内的内容在末尾写入 不能读只能写 若没有文件则创建
  4. w+ w的基础上可以读
  5. a+ a的基础上可以读
  6. b 二进制操作

下面的if与then 这里不做解释 下节课再说叭 因为担心各位说多了听不懂(水)

io.read

io.read 的意思为字符输入流

这里可以参考上面的代码 可以发现我们是这样写的 file:read 那么这和我们的io.read不同呀! 这是为什么呢?

其实这里是可以这样写的 当然你也可以这样写io.read(file,"*a*)

那么这里又有我们看不懂的符号了 这又是什么意思呢?

这边再做一个简单的介绍

  1. *a 读取文件内所有内容
  2. *n 读取文件内的数字
  3. *l 读取下一行内容直到文件末尾返回

当然这里也可以不写 例如file:read() 那么这又代表什么呢?这其实就是读取一行内容

还可以写整数例如file:read(5) 这里的5代表读取文件内指定字符个数

io.write

io.write 的意思为字符输出流 这里写一段代码来介绍如何使用叭!

file=io.open("路径","w")
file:write("内容")

这里第一行不再做解释 详情可查看上面介绍

那么这里的file:write是什么意思呢?当然这里也可以写为io.weite(file,"内容")

需要注意的是可以操作格式为w可以不写write但是如果写就必须写输出的内容

那么这里顾名思义就是往一个文件内写入一个内容 这个内容就是我那里的字符串 "内容"

io.close

io.close 的意思为关闭流 简单点理解就是 把此次文件操作在内存中释放 避免炸内存

这里结合上面write的代码接着写一下

file:close()--或者 io.close(file)

这个就不多做介绍了

io.seek

这里先写一段代码作为演示 再做解释

file=io.open("路径","r")
file:seek("set",10)
file=file:read("*all")
print(file)

这里同样的 file:seek 同样可以写成io.seek(file)

这里可以看到 他又出现了一个字符 所以我们再次简单介绍一下

  1. set 从文件头开始
  2. cur 从当前位置开始  --默认
  3. end 从文件末尾开始

那这里我们就可以知道set就是从文件头开始读取 那么后面的10又是什么呢?

其实很好理解 就是从文件头开始的第10个字节后开始读取 直到文件尾

那么这里本人最常用的几个io函数就已经介绍完了 剩下两个gg函数是什么呢?

gg.setValues

这个函数就是把数组解析  来设置地址的值

同样的这里列出一段代码

gg.setValues({{address=0xfffff,flags=4,value=10}})

可以看到这里出现了address flags value 等这些是什么意思呢?

我们这里也做一个简单的介绍

  1. address 地址 代表游戏内存中的地址
  2. flags 类型 同上只不过这里是代表类型
  3. value 值 可以理解为要修改的数值 可以为字符串也可以为整数
  4. freeze 是否冻结 true是 false否
  5. name 可以理解为地址的备注

因为关于地址的东西这里不是很好说 请自行测试或添加作者(文章末尾)

gg.getValues

同上 不过此函数是 获取地址的各项值

a=gg.getValues({{address=0xfffff,flags=4}})
print(a)

这里返回值类型为数组类型 2维数组

请自行测试或添加作者(文章末尾)

那么今天讲的就是这些啦~ https://qm.qq.com/cgi-bin/qm/qr?k=FwQ20fENB-ELRnZqq2Vf8lcNLouIFSME&noverify=0

那么下期见~

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值