为了账号安全,请及时绑定邮箱和手机立即绑定

以下代码可以帮我翻译成很容易理解的话,谢谢!

以下代码可以帮我翻译成很容易理解的话,谢谢!

慕的地10843 2023-01-11 15:15:48

function FileSaveLoad()
  local file = io.open("c:\\in.lua", "r");
  assert(file);
  local data = file:read("*a"); -- 读取所有内容
  file:close();
  file = io.open("c:\\out.lua", "w");
  assert(file);
  file:write(data);
  file:close();
  end
  FileSaveLoad();
我知道这些代码实现的功能但是不理解这些代码是什么意思?帮忙翻译下,说明每个代码的作用,代码的工作原理,谢谢!

查看完整描述

2 回答

?
慕仙森

TA贡献1589条经验 获得超7个赞


function FileSaveLoad()                    -- 定义FileSaveLoad函数  local file = io.open("c:\\in.lua""r"); -- 以只读方式打开c:\in.lua,句柄为file  assert(file);                            -- 如果打开失败,则抛出异常  local data = file:read("*a");            -- 读取file的所有内容,存放在data  file:close();                            -- 关闭file  file = io.open("c:\\out.lua""w");      -- 以写的方式打开c:\out.lua,句柄为file  assert(file);                            -- 如果打开失败,则抛出异常  file:write(data);                  -- 将data(其实就是c:\in.lua)的内容写入file  file:close();                            -- 关闭fileend   FileSaveLoad();                          -- 执行FileSaveLoad函数


查看完整回答
反对 回复 2023-01-15
?
郎朗坤

TA贡献1678条经验 获得超9个赞

io可以理解为一个库,其它就是一个table, lua里面的一切数据结构都是table(userdata用C语言扩展的不算)
assert(file)表示如果打开失败,就抛出异常直接退出
file就是类型就是io
file:read, 是file.read(file)的语法糖,就是表自己做为函数的第一个参数

FileSaveLoad调用在end 之后,函数已经定义完了,

不是循环调用。
函数就是把一个in.lua复制到out.lua中去。

查看完整回答
反对 回复 2023-01-15

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信