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