Lua Dofile和require问题
我正在使用Lua代码进行我的小项目工作,使用Explorer与esp8266模块交互 我遇到了一个问题,“dofile”和“require”模块没有打开位于另一个位置的脚本Lua Dofile和require问题,lua,Lua,我正在使用Lua代码进行我的小项目工作,使用Explorer与esp8266模块交互 我遇到了一个问题,“dofile”和“require”模块没有打开位于另一个位置的脚本 我习惯于这样的代码:dofile(“ds18b20.lua”) 输出: dofile(“ds18b20.lua”)无法打开ds18b20.lua 我还使用了:require(“ds18b20”) 输出: require(“ds18b20”)标准输入:1:未找到模块“ds18b20”: 无字段包。预加载['ds18b20']
dofile(“ds18b20.lua”)
输出:
无法打开ds18b20.lua
require(“ds18b20”)
输出:
无字段包。预加载['ds18b20']
没有文件“ds18b20.lc”
没有文件“ds18b20.lua” 有谁能给我这个问题的解决方案吗
谢谢如果脚本与当前脚本不在同一文件夹中,您可以使用脚本路径:
dofile(“path/to/your/script.lua”)
如果要使用require
一种解决方案是将包含脚本的文件夹添加到包路径:
package.path = package.path .. ";full/path/to/folder/?.lua"
require "script"
如果脚本与当前脚本不在同一文件夹中,您可以将
dofile
与脚本路径一起使用:dofile(“path/to/your/script.lua”)
如果要使用require
一种解决方案是将包含脚本的文件夹添加到包路径:
package.path = package.path .. ";full/path/to/folder/?.lua"
require "script"
要指定
require
的脚本位置,您可以使用如下内容:
require 'path.to.lib.libname.submodule'
要指定
require
的脚本位置,您可以使用如下内容:
require 'path.to.lib.libname.submodule'
为什么要标记
java
和c
?他们与你的问题无关。你的电脑只是一台愚蠢的机器。如果你不告诉它在哪里确切地找到那个文件,或者至少在哪里找到它,它就不会找到它并责怪你。遵循FONX建议或将路径添加到LUA_path环境变量。打印(package.path)以查看Lua将搜索所需文件的文件夹。为什么要标记java
和c
?他们与你的问题无关。你的电脑只是一台愚蠢的机器。如果你不告诉它在哪里确切地找到那个文件,或者至少在哪里找到它,它就不会找到它并责怪你。遵循FONX建议或将路径添加到LUA_path环境变量。打印(package.path)以查看Lua将搜索所需文件的文件夹。