1.首先要强调的是,lua require的路径用的是斜杠"/",而不是从Windows文件属性那里复制来的反斜杠"\"。

2.通过 print(pagckage.path) 和print(package.cpath)打印lua系统封装的两个全局属性可以看到当前lua解析器require的时候默认替换的路径

3.更改路径的时候,lua脚本加  ";..\\?.lua" 而dll文件加 ";..\\?.dll"

下面,我要将路径为 "D:\Lua5.1\lua\hgj-test\huang.lua" 的lua脚本require进hgj.lua脚本里。

huang.lua脚本:

huang={}
function huang.SumDouble(max)
sum=0
for i=0,max,2 do
sum=sum+i
end
return sum

end

hgj.lua脚本:

package.path = "D:/Lua5.1/lua/hgj-test/huang.lua" ..";..\\?.lua"

require"huang.lua"
print(huang.SumDouble(100))
print(package.path)
print(package.cpath)

在hgj.lua按F5打印出来的结果是:

2550
D:/Lua5.1/lua/hgj-test/huang.lua;..\?.lua
.\?.dll;.\?51.dll;D:\Lua5.1\?.dll;D:\Lua5.1\?51.dll;D:\Lua5.1\clibs\?.dll;D:\Lua5.1\clibs\?51.dll;D:\Lua5.1\loadall.dll;D:\Lua5.1\clibs\loadall.dll

因为编码不同,所以加载dll出来的是乱码,如果知道dll里封装的属性和函数,加载之后就可以用print(package.loadlib("--dll名--",“--属性名/函数名--”))来读取dll的属性和函数。

我随便加载了公司打卡用的钉钉软件里的一个dll:

package.path = "D:/Program Files (x86)/DingDing/main/current/alilog.dll"..";..\\?.dll"
require"alilog.dll"

--package.loadlib("alilog.dll","不知道函数名")

加载出一篇乱码,看不了,而且也不知道里面有什么函数,用不了,只能当示范。

当然,如果不用require调用其他脚本的属性或者函数,而是直接执行一整个其他脚本,还是 dofile("文件路径") 舒服,直接

dofile("D:/Lua5.1/lua/hgj-test/huang.lua")

就O了,但是有一点,代码设计的时候,调用的脚本里面的函数必须它自己执行,如果你光封装属性函数,不执行,那就不能用dofile这条路线了。

原文:https://blog.csdn.net/piger91/article/details/79940663
---------------------
作者:青竹浪
来源:CSDN
原文:https://blog.csdn.net/piger91/article/details/79940663
版权声明:本文为博主原创文章,转载请附上博文链接!

lua require路径设置实例的更多相关文章

  1. ulua 路径小记 以及 lua require 机制整理

    ulua 路径小记 在学习ulua时,require模块的根路径可以为项目的Lua文件夹或者ToLua文件夹(Editor下),但是在package.path和package.cpath中并没有看到当 ...

  2. Lua require 相对路径

    lua require 加载方式与我们现在熟知的路径系统不太一样,想要知道lua require 方法的工作原理也很简单 随便写一个错误的require 代码即可: 1 require("l ...

  3. Django基础,Day9 - 静态文件目录与路径设置说明(eg. images, JavaScript, CSS)

    静态文件路径设置官方说明 1. Make sure that django.contrib.staticfiles is included in your INSTALLED_APPS. 2. In ...

  4. Lua Require函数

    转自:http://www.cppblog.com/cslover/archive/2013/12/21/204934.html Lua提供高级的require函数来加载运行库.粗略的说require ...

  5. JSP Servlet 路径解析 路径设置

    转自:http://ethen.iteye.com/blog/800415 在用JSP和Servlet编写Web应用时,经常遇到的问题就是找不到.do路径,或者.do路径不能解析,其实归根到底就是Se ...

  6. lua package path 设置方法

    lua package path 设置方法: 添加环境变量LUA_PATH="/add_path/?.lua;;" 1.add_path为新添加的目录: 2.一定要添加双引号: 3 ...

  7. 扩展 lua require 的行为

    扩展 lua require 的行为 来源 https://blog.codingnow.com/2015/10/lua_require_env.html 今天同事提了个需求,他希望可以给部分 lua ...

  8. Oracle归档日志与非归档日志的切换及路径设置

    --==================== -- Oracle 归档日志 --==================== Oracle可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的 ...

  9. MySQL主从(MySQL proxy Lua读写分离设置,一主多从同步配置,分库分表方案)

    Mysql Proxy Lua读写分离设置 一.读写分离说明 读写分离(Read/Write Splitting),基本的原理是让主数据库处理事务性增.改.删操作(INSERT.UPDATE.DELE ...

随机推荐

  1. Mac环境安装非APP STORE中下载的软件,运行报错:“XXX” is damaged and can’t be opened. You should move it to the Trash. 解决办法

    出现这个错误的大多数原因都是因为系统设置的问题,因为系统不信任你从其他地方下载的软件安装包,所以运行时就给你阻止了.具体的设置步骤如下: 1. 打开系统偏好设置 (System Preferences ...

  2. 推荐一个好用的行内可编辑的table组件 vxe-table

    项目中有一个需要用户点击table单元格可编辑的需求,由于博主用的是elementUI,element组件内实现可编辑,用过的小伙伴都知道,非常麻烦,后来博主在浏览组件的时候发现了 一款非常好用的ta ...

  3. Redis内存数据库在Exchange会议室的整体应用架构

    注:本文是别人写的,感觉写得很好就转过来,版权归原作者所有哦,谁知道出处可以告诉我,谢谢. 根据以上的会议室应用现状分析,该架构的核心是把历史发生的会议室申请数据定时同步到Redis内存数据库中,对于 ...

  4. unittest---unittest跳过用例

    我们在做自动化测试的时候,可能会遇到一些用例中间不用回归,想要进行跳过.直接注释的话,代码量修改过大,显然这个方法不妥,哪还有什么方法?unittest这个自动化框架可以帮助我们完成这个操作 自动跳过 ...

  5. TypeScript初体验

    第一次运行TypeScript 1.创建文件夹并初始化项目 mkdir ts-demo cd ts-demo npm init -y 2.安装typescript与ts-node # 局部安装 npm ...

  6. web攻击与防御技术-平台搭建与暴力破解

    平台搭建是首先安装xampp并把pikachu的压缩文件解压在HTdocs下 然后 点击后显示 安装成功 首先随便输入一些东西 然后用burpsuite抓包 对username和password字段进 ...

  7. 模块引用方式利弊辨析: 全局绝对引用(alias) && 长相对引用

    前言 这个问题首先要从我们项目的require语句开始说起. 当打开我们项目的时候,我们可能会看到一大堆长相对引用,如下所示: import component from '../../../../c ...

  8. DDL--DML

    DDL 数据定义语言 DDL是基于数据表级别的操作的统称,对数据表的 创建 删 改 删除 drop -- 删除表,记录日志 truncate -- 删除表中的全部数据,不删除表,不记录日志 修改 al ...

  9. VUE项目中文件上传兼容IE9

    项目使用VUE编写,UI是ElementUI,但是Element的Upload组件是不兼容IE9的.因为IE9中无法使用FormData. 查找资料基本有两种解决方法:1.引入JQuery和jQuer ...

  10. scrapy实例:爬取天气、气温等

    1.创建项目 scrapy startproject weather # weather是项目名称 scrapy crawl spidername开始运行,程序自动使用start_urls构造Requ ...