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 (); -- 关闭file end FileSaveLoad(); -- 执行FileSaveLoad函数 |

郎朗坤
TA贡献1678条经验 获得超9个赞
io可以理解为一个库,其它就是一个table, lua里面的一切数据结构都是table(userdata用C语言扩展的不算)
assert(file)表示如果打开失败,就抛出异常直接退出
file就是类型就是io
file:read, 是file.read(file)的语法糖,就是表自己做为函数的第一个参数
FileSaveLoad调用在end 之后,函数已经定义完了,
不是循环调用。
函数就是把一个in.lua复制到out.lua中去。
- 2 回答
- 0 关注
- 8 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消