zoukankan      html  css  js  c++  java
  • lua require路径设置实例

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

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

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

    下面,我要将路径为 "D:Lua5.1luahgj-testhuang.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.1clibs?.dll;D:Lua5.1clibs?51.dll;D:Lua5.1loadall.dll;D:Lua5.1clibsloadall.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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    知识点--Alzheimer disease
    基因组关联分析技术的简介
    数量遗传与植物育种—李慧慧
    windows下的python安装pysam报错
    【数据库】本地NR数据库如何按物种拆分?
    【数据库】本地KEGG数据库如何拆分子库?
    国内育种服务商
    【机器学习与R语言】13- 如何提高模型的性能?
    【机器学习与R语言】12- 如何评估模型的性能?
    【机器学习与R语言】11- Kmeans聚类
  • 原文地址:https://www.cnblogs.com/welcome-to-fang-qi-blog/p/10899624.html
Copyright © 2011-2022 走看看