当前位置: 首页 > news >正文

建设部网站政策法规北师大网页制作与网站建设期末考试

建设部网站政策法规,北师大网页制作与网站建设期末考试,广州注册公司必看,用wordpress制作表单从 Lua 的用户文档中我们知道 require(modName) 函数是用来加载模块的#xff0c;而如果这个modName已经用require 加载过的#xff0c;再调用require时#xff0c;将直接返回模块的值。因为函数首先查找 package.loaded 表#xff0c; 检测 modName 是否被加载…        从 Lua 的用户文档中我们知道 require(modName) 函数是用来加载模块的而如果这个modName已经用require 加载过的再调用require时将直接返回模块的值。因为函数首先查找 package.loaded 表 检测 modName 是否被加载过 如果被加载过了直接返回 package.loaded[modName] 的值。 目录 1模块的加载及返回值 2模块的搜索位置及顺序 3模块的清除 1模块的加载及返回值 我们可以打印一下 package.loaded 的类型看一看在默认情况下这里面加载了哪些模块如 #!/usr/local/bin/luaprint(package.loaded type is ..type(package.loaded));for key, value in pairs(package.loaded) doprint(key, value); endpackage.loaded 的类型是table默认下加载了以下的模块这些模块又都是一个table。 下面尝试加载一个自定义的模块即一个本地的 lua文件如 #!/usr/local/bin/luaprint(package.loaded type is ..type(package.loaded));local mytest require(testRequire)for key, value in pairs(package.loaded) doprint(package.loaded[..key..] type is..type(value)); end 加载这个自定义的模块require 的返回值是一个函数类型所以如果用 local mytest require(testRequier) 时mytest 就是一个函数了则是可以用来调用的如 #!/usr/local/bin/luaprint(package.loaded type is ..type(package.loaded));local mytest require(testRequire)for key, value in pairs(package.loaded) doprint(package.loaded[..key..] type is ..type(value)); endif type(mytest) function thenmytest(this is a test); end 那这个testRequire 模块在哪里同时它的内容是什么呢 print(load file testRequest.lua)function testRq(x)print(in file testRequire.lua, input param is: ..x) endreturn testRq我们看到这个 testRequire.lua 最后返回了 testRq它是一个函数所以认为 package.loaded[testRequire] 是一个函数然后我们可以用返回值来当成函数调用。那如果tesetRequire 函数没有返回值或返回 nil 呢会是怎样的结果呢 print(load file testRequest.lua)function testRq(x)print(in file testRequire.lua, input param is: ..x) endreturn nil --或没有这一行 返回值是一个布尔值  所以这样的话我们是没法使用 testRequire 模块里的函数的模块肯定需要返回一个非 nil  值否则 Lua 默认返回就是 true。 #!/usr/local/bin/luaprint(package.loaded type is ..type(package.loaded));local mytest require(testRequire)for key, value in pairs(package.loaded) doprint(package.loaded[..key..] type is ..type(value)); endprint(mytest);if type(mytest) function thenmytest(this is a test); end 所以我们只要根据需求返回指定类型即可了下面尝试返回一个table把函数放到 table 里然后再把 table 返回来 print(load file testRequest.lua)function testRq(x)print(in file testRequire.lua, input param is: ..x) endglobal {}global[testRq] testRq;return global; 然后我们可以这样使用 #!/usr/local/bin/luaprint(package.loaded type is ..type(package.loaded));local mytest require(testRequire)for key, value in pairs(package.loaded) doprint(package.loaded[..key..] type is ..type(value)); endprint(mytest);if type(mytest) table thenif type(mytest[testRq]) functionthenmytest[testRq](this is a test);end end 照样能正常使用所以在使用 require 加载自定义模块时需要很清楚模块里的实现这样才能准确的使用这个加载的模块了。 2模块的搜索位置及顺序 模块的加载默认情况下肯定先搜索当前目录如果当前目录搜索不到时则会根据 package.searcher 表进行搜索这个表的默认值是什么呢我们看一下如果加载一个没有的模块名称require(testRequire1)看一看 3模块的清除 前面说过require函数加载时会先检查 package.loaded 表里是不是已经有 modName 的表项了如果有则直接返回表项的值那如果已经加载了想要清除该怎么操作呢 #!/usr/local/bin/luaprint(package.loaded type is ..type(package.loaded));local mytest require(testRequire)for key, value in pairs(package.loaded) doprint(package.loaded[..key..] type is ..type(value)); endif type(mytest) table thenif type(mytest[testRq]) functionthenmytest[testRq](this is a test);end endpackage.loaded[testRequire] nil; for key, value in pairs(package.loaded) doprint(package.loaded[..key..] type is ..type(value)); end 因为 package.loaded 是全局变量我们是可以修改它的值的其结果为 在 package.loaded[testRequire] nil 后package.loaded 表里已经没有了 testRequire 表项了。
http://www.dnsts.com.cn/news/124571.html

相关文章:

  • 南宁网站建设超薄网络下载之家
  • 网站开发人员定罪布吉网站建设找哪家公司好
  • 织梦建站要多少钱外包公司的招聘专员好干吗
  • 大学生做社交网站有哪些wordpress主题后台设置
  • 学做网站好就业吗淘宝做关键词的网站
  • 今天刚刚发布的新闻单词优化和整站优化
  • 为什么网站设计很少全屏举例说明什么是网络营销
  • 运动健身类网站开发深圳o2o网站建设
  • 东莞常平中转场惠州seo按天计费
  • 红塔区住房和城乡建设局网站2012年中国上市互联网公司排名
  • 聊城做网站推广费用可以做公司宣传的网站有哪些
  • 哪个网站可以哪些企业做哪些产品wordpress 响应式首页
  • 诸暨东莞网站建设公司德江网站建设
  • 叫任何一个人一个小时做网站在线购物商城网站
  • 厦门网站建设 模板建站早教类网站模板
  • 怎么找做网站的公司山东经济建设网站
  • 专业网站建设公司电话建设网站模板
  • 利用店铺网站做灰色优化wordpress 角色和权限管理
  • 海沧做网站简述jsp网站开发的环境配置
  • 天津品牌网站建设公司排名创意设计字体
  • 做网站致富东莞外贸企业名单
  • 知名网站建设推广建筑木工模板承包报价单
  • 网站开发专业就业好不好视觉设计公司名字
  • 网站是怎么制作的公司介绍ppt制作模板
  • 网站开发技术和seo的联系互联网企业营销策略
  • 网络网站开发培训浦东建设环评网站
  • 网页游戏推荐排行360网站关键词排名优化
  • 做相册网站用阿里云建设网站
  • 在建立网站站点的过程中筑巢网站建设
  • 马蜂窝网络营销网站建设农业公司网站源码