lua第14课dofile与require区别

优选教程   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2022-2-13

你好!!!我叫兔子今天我来讲一下云脚本所涉及到的一点函数以及dofile与require区别(还用到了loadfile)dofile与require完成效果相同,但require有以下效果require①require会搜索目录加载文件②require会判断是否文件已经加载避免重复加载同一文件。loadfile加载文件,编译文件,并且返回一个函数,不运行使用loadfile加载文件的时候会返回一个编译的函数调用只有调用了相应的方法才能用文件中函数不然里面的函数是没有定义的,不能调用dofile其实就是包装了Loadfile,根据loadfile的返回函数运行一遍require加载文件的时候,不用带目录它有lua自己的搜索加载目录的路径,并且会判断文件是否加载过加载过则不加载dofile与require都是会执行里面的代码区别是require只加载一次dofile每次加载loadfile只加载文件而不执行听完那么多解释我来讲一下,今天主题,云脚本!!!昨天有个小伙子问了我个光遇(我不玩哦,这方面别找我)的云脚本一个判断问题就是通过查看目录,如果目录没有,则通过链接读取网上的脚本这是他写的有误的那一段wsnm=dofile("/storage/emulated/0/1/实验lua/宇宙/musz.lua") if wsnm[1]~= nil then dofile("/storage/emulated/0/1/实验lua/宇宙/musz.lua") elsewsnm1=makeRequest(x6).contentpcall(load(wsnm1)) end 我们来看他的错误❌首先wsnm=dofile("")就是给wsnm赋值,而dofile你没理解就当做打开""这里面路径然后你看他下一段if wsnm[1]~= nil then dofile("/storage/emulated/0/1/实验lua/宇宙/musz.lua")这就是逻辑错误!!你的第一段就写了打开这个路径文档,你再给他写上一个打开路径文档(这里他可能想的是假如你的路径里没有这个文档怎么办?却没有想到假如他的路径上有这个文档,那这就是个矛盾,已经打开一次,还要打开一次)在看第二处if wsnm[1]~= nil then中的wsnm[1]这大概就是受到prompt控件窗口的影响(这里就不讲了,怕影响到你们判断)首先这个键[1]在这一段中肯定不能有的可以这么写①a=loadfile("/storage/emulated/0/Documents/aa.lua/")if a~=nil thendofile("/storage/emulated/0/Documents/aa.lua/")elseprint("别问一些没脑问题了。")end或者②(用require是可以不用写后缀的上文中有说到,它可以搜索目录的)a=loadfile("/storage/emulated/0/Documents/aa.lua/")if a~=nil thenrequire("/storage/emulated/0/Documents/aa")elseprint("别问一些没脑问题了")end课外知识gg.makeRequest("").content可以请求访问网页

沙发
LV是非 2022-2-13
无图无真相,如需补充帖子相关图片联系在线版主解锁。

评论

登录后才可发表内容
  • 主题

    31

  • 帖子

    28

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0868s Mem:1976Kb